متوفر أيضًا بلغات أخرى: English · Español · Português · Français
مسارات well-known
سجل IANA كاملًا لمسارات /.well-known/، بحالة التسجيل والجهة المسؤولة والتاريخ، ومعه قياسٌ لما تقدّمه المواقع فعلًا.
ما /.well-known/؟
يحجز RFC 8615 مسارًا واحدًا في كل موقع. فكل ما تحت /.well-known/ موضعٌ يستطيع بروتوكولٌ أن يضع فيه ملفًا في مكان واحد على كل المضيفين، فيعرف العميل أين ينظر دون أن يخبره أحد. وبه تثبت سلطة الشهادات أنك تملك النطاق، وبه يجد المتصفح صفحة تغيير كلمة السر عندك، وبه يربط الهاتف تطبيقًا بموقع.
وذلك يجعله فضاء أسماء عالميًا مشتركًا مقتطعًا من كل نطاق في الإنترنت، ولهذا كان له سجل بدل أن يكون سائبًا. والمسارات المسجَّلة 101. وأكثر القوائم المتداولة اثنتا عشرة مدخلةً بلا تواريخ؛ وهذه فيها كلها، بالأعمدة الثلاثة التي ينشرها السجل وتُسقطها النسخ عادةً.
وأطرف تلك الأعمدة عمود الجهة المسؤولة، إذ ليس لـIETF من الـ101 إلا 36. والباقي لشركات واتحادات بعينها: 54 جهةً مختلفة جملةً. فحين تقدّم ملفًا تحت /.well-known/، فقواعد أكثر تلك المسارات كتبها من طلبها.
كيف تستعمل هذه القائمة
- ابحث بالمسار أو بالجهة أو بالمواصفة. يبحث الصندوق في الثلاثة، فتجد acme-challenge، أو كل ما يتولاه W3C، أو كل ما يعرّفه RFC بعينه.
- رشّح بالحالة. الدائم والمؤقت والمهجور والملغى أربعة أشياء مختلفة، والقائمة المنسوخة التي تعرضها صفًّا واحدًا تخفي الفرق.
- اقرأ جدول الانتشار أسفلها. يعرض القياس نفسه محسوبًا بطريقتين، والمهم هو الفرق بين العمودين.
الرد 200 لا يعني أن الملف هناك
يبدو فحص ما إذا كان موقعٌ يقدّم مسارًا من well-known أمرًا هيّنًا: تطلبه وتنظر أيرد 200. وذاك أسلوب يكاد لا ينفع، والقياس هنا يبيّن مقدار خطئه.
على 120 نطاقًا أجاب منها 89، يقول رمز الحالة وحده إن host-meta يقدّمه 28.1% منها. واشتراطُ نوع محتوى معقول معه يقول 0.0%. فلا واحد من تلك النطاقات يقدّم وثيقة host-meta، بل تقدّم تطبيق صفحة واحدة يردّ مساره الشامل 200 بقشرة HTML لأي مسار يُطلب، ومنها مسارات لم يسجّلها أحد قط.
والمبالغة ليست منتظمة، وهذا هو الخطِر فيها. فهي في المسارات الشائعة حقًا يسيرة: ينزل assetlinks.json من 61.8% إلى 44.9%، وsecurity.txt من 64.0% إلى 42.7%. أما في سواها فماحقة: يهوي change-password من 37.1% إلى 1.1%، ويفعل mta-sts.txt وnodeinfo مثله. فالأداة التي تبلّغ بالعمود الأول تخبرك أن الموقع يدعم أشياء لم يسمع بها قط.
والذي كشف ذلك ليس فحصًا أخفق بل نمطًا مريبًا: فقد تساوى host-meta وnodeinfo تمامًا عند 25 إصابةً لكل منهما. ولا يمكن لبروتوكولين لا صلة بينهما أن يتساويا في الانتشار، فالرقم كان يقيس المسبار لا الشبكة. وأي فحص وجودٍ عبر HTTP يحتاج نوع محتوى، أو شكل جسم، أو مسار ضبط يُعلم أنه غائب.
وتحفّظ يُقال صراحةً: 89 نطاقًا بيانٌ لا إحصاء، وثمة مسوح أوسع بكثير لهذه المسارات. فالنتيجة هي المسافة بين العمودين، والأرقام المطلقة للإيضاح.
ما لا يقوله السجل
يسجّل السجل ما سُجِّل، وليس ذلك ما تقدّمه الشبكة. وأوضح مثال في جدول الانتشار: فـapple-app-site-association يقدّمه نحو ثلث نطاقات العينة، فهو ثالث أكثر المسارات انتشارًا مما قيس هنا، ولا أثر له في السجل البتة. سجّلت جوجل نظيره assetlinks.json، ولم تسجّل آبل مسارها. وكلاهما على ملايين المواقع.
ولا تصلح الحالة مؤشرًا على الانتشار أيضًا. فـchange-password ما زال مؤقتًا رغم تنفيذه في كل متصفح كبير وكل مدير كلمات سر، بينما مدخلات دائمة كثيرة لا يكاد أحد يقدّمها. فالحالات الأربع تصف مدى ثبات حجز المسار لا مدى استعماله.
وثمة مدخلة أُفرغت من مضمونها. فخمسة مسارات مهجورة أو ملغاة، وواحد منها وهو mud نُزعت عنه مرجعيته وجهته المسؤولة معًا، فبقي اسم مسجَّل لا يشير إلى شيء. وهو باقٍ في القائمة بدل ترشيحه، لأن سجلًّا يعترف بأنه لم يعد يعرف لمن الشيء أنفعُ من جدول مرتَّب.
وأما الدقة: ففي صفحة IANA جدولان، السجل وآخر لجهات الاتصال بالمسؤولين، وكشط الصفوف دون تمييزهما يعطي 146 مدخلةً لسجل فيه 101. والمولّد هنا يميّز السجل بصف ترويسته، وطقم الاختبارات يعيد اشتقاق كل أرقام هذه الصفحة من HTML المصدر لا من الملف المولَّد، في 971 تحققًا و14 ضابطًا سالبًا.
لماذا هي مجانية؟
هذا جدول يُرسم في متصفحك. ولا خادم يعمل، فلا شيء يُتقاضى ولا حساب يُنشأ.
ولا يُجلب شيء نيابةً عنك كذلك. فالمتصفح لا يستطيع طلب مسارات /.well-known/ من موقع آخر، فلا تتظاهر هذه الصفحة بفحص نطاقك: بل تقول لك ما الموجود وما تعنيه الأرقام حقًا، وأدوات المطوّر أو سطر الأوامر تتكفّل بالباقي.