هل انتشر تعديل DNS في كل الخوادم بعد؟
أداة فحص انتشار DNS تستعلم عن سجل نطاقك من عدة نقاط موزعة حول العالم في وقت واحد، وتقارن القيمة التي تراها كل نقطة على حدة. تناسب من عدّل سجلًا للتو ويريد معرفة أين وصل التعديل فعليًا وأين لا يزال الخادم القديم يستجيب، بدل الانتظار الأعمى دون معرفة السبب الحقيقي وراء التأخير.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
لماذا لا يظهر التعديل فورًا في كل مكان
خوادم DNS حول العالم تحتفظ بنسخة مؤقتة من كل سجل لمدة تحددها قيمة TTL المضبوطة عليه، فحتى بعد تعديلك للسجل تستمر بعض الخوادم بعرض القيمة القديمة حتى تنتهي هذه المدة وتُحدَّث نسختها المحفوظة تلقائيًا من تلقاء نفسها دون تدخل بشري في العملية. هذا سلوك طبيعي في تصميم DNS نفسه منذ نشأته، وليس خطأً في التعديل الذي أجريته على السجل بنفسك للتو.
كيف تقرأ نتيجة الفحص
تعرض النتيجة قيمة السجل كما تراها كل نقطة فحص موزعة جغرافيًا حول العالم في اللحظة نفسها، فإن رأيت القيمة الجديدة في أغلب النقاط والقديمة في نقطة أو نقطتين فقط، فهذا يعني أن الانتشار جارٍ وسينتهي قريبًا جدًا دون تدخل إضافي منك. إن ظهرت القيمة القديمة في كل النقاط بعد ساعات من التعديل، فالمشكلة على الأرجح في التعديل نفسه لا في الانتشار وحده.
متى يستحق الأمر الانتظار ومتى يستحق المراجعة
زمن الانتشار الكامل يعتمد على قيمة TTL السابقة على السجل قبل التعديل، وقد يمتد من دقائق إلى 48 ساعة في الحالات القديمة ذات القيمة الطويلة. تكرار الفحص كل ساعة بعد أي تعديل مهم يمنحك صورة واضحة عن التقدم، بدل الظن أن التعديل فشل لمجرد أن متصفحك الشخصي لا يزال يعرض القيمة القديمة بسبب ذاكرة تخزين محلية لديك أنت لا لدى الخوادم العالمية نفسها.
استخدام الفحص قبل تحويلات مهمة
قبل نقل موقع حي أو تفعيل بريد جديد لنطاق نشط يعتمد عليه العمل يوميًا، يفحص كثيرون انتشار السجل الجديد أولًا للتأكد أن أغلب الزوار سيصلون للخادم الصحيح قبل إلغاء القديم نهائيًا من الاستضافة السابقة تمامًا ودون رجعة. سعر الفحص $0.002 فقط، ويمكن تكراره كل ساعة أثناء متابعة انتشار تعديل حساس دون تكلفة إضافية كبيرة تُذكر أو التزام إضافي يقيّدك لاحقًا.
حالات الاستخدام
نقل موقع حي بعد تعديل سجل A
بعد تعديل سجل A لنقل موقعها لخادم جديد، تفحص شركة الواحة للتجارة المحدودة الانتشار كل ساعة قبل إلغاء الخادم القديم، للتأكد أن معظم الزوار وصلوا للخادم الجديد فعلًا.
التأكد قبل إلغاء استضافة قديمة
يفحص عبدالله المنصوري انتشار سجل A الجديد على عدة نقاط عالمية قبل إلغاء اشتراكه في الاستضافة القديمة نهائيًا، تفاديًا لانقطاع الموقع عن جزء من الزوار.
متابعة تفعيل بريد جديد لنطاق نشط
بعد تفعيل مزود بريد جديد، تفحص مؤسسة النخيل للمقاولات انتشار سجل MX الجديد للتأكد أن الرسائل الواردة تصل للمزود الصحيح قبل إخبار الموظفين بالتحويل.
الأسئلة الشائعة
كم يستغرق الانتشار الكامل عادةً؟
يعتمد على قيمة TTL السابقة على السجل، وقد يمتد من دقائق إلى 48 ساعة في الحالات القديمة.
لماذا يظهر متصفحي قيمة قديمة رغم أن الفحص يؤكد الانتشار؟
لأن متصفحك يحتفظ بذاكرة تخزين محلية خاصة به منفصلة عن خوادم DNS العالمية؛ تفريغها يدويًا يحل المشكلة عادة.
كم تكلفة فحص انتشار نطاق واحد؟
$0.002 للفحص الواحد، ويمكن تكراره كل ساعة أثناء متابعة تعديل حساس دون رسوم إضافية.
هل يفحص عدة أنواع سجلات في المرة الواحدة؟
يفحص نوع السجل الذي تحدده — A أو MX أو غيره — على عدة نقاط جغرافية دفعة واحدة.
ماذا لو توقف الانتشار عند نقطة واحدة لساعات؟
يستحق الأمر مراجعة إعدادات مزود DNS لديك؛ قد تكون تلك النقطة تتبع خادمًا يحتفظ بنسخة أطول من المعتاد.
هل أحتاج حسابًا لتشغيل الفحص؟
لا حساب اليوم؛ تفحص مباشرة وتدفع عبر PayPal عن كل استخدام فعلي.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/web/dns-propagation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/dns-propagation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"domain": "ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/dns-propagation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"domain": "ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/dns-propagation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"domain":"ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"domain":"ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/dns-propagation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"domain": "ejemplo.com"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.dns_propagation",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
timeout_sec | 30 |
max_crawl_pages | 25 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |