الخلاصة

  • منح RFC 3368 مخطط go: وظيفتين: الإشارة إلى خدمة CNRP بعينها، أو تمرير استعلام باسم شائع إلى الخدمات التي يختارها العميل.
  • كان رابط id= المرتبط بخادم قادراً على الإشارة إلى سجل من دون تضمين الاسم الذي يظن القارئ أنه يراه. فالصياغة والتسجيل والحل أدلة منفصلة.

في أغسطس 2002، اقترح RFC 3368 رابطاً لمعالجة مشكلة لم تحلها عناوين الويب المعتادة بسهولة: يتذكر الناس الأسماء، بينما تعتمد الشبكات على المعرّفات والخدمات للوصول إلى الموارد. لم يمنح مخطط go: الاسم نفسه سلطة مرجعية؛ بل حدّد كيف يحمل العميل استعلام CNRP إلى خدمة.

يظهر الفرق مباشرة بعد النقطتين. يشير go://cnrp.example?Ada%20Lovelace إلى خادم محدد ويرسل إليه استعلاماً. أما go:Ada%20Lovelace فلا يذكر خادماً؛ وقد صُممت هذه الصيغة كي ترسل الاستعلام إلى خدمة CNRP واحدة أو أكثر سبق أن أعدّها العميل. وهكذا قد يصل الاسم الظاهر نفسه إلى مجموعات مختلفة من الخدمات على أجهزة مختلفة. لم يحمل الرابط دليلاً عالمياً لخوادم الحل.

وأعطى RFC 3368 لصيغة الخادم وحده معنى آخر: فهي تعرّف خدمة CNRP، لا عملية بحث بعينها. وكان بوسع العميل أن يسأل الخدمة عن قدراتها بواسطة servicequery. وإذا تُرك حقل الخادم فارغاً، عُدّ الجهاز المحلي هو المقصود. وعند غياب معرفة سابقة بوسائل نقل أخرى، كان الإعداد الافتراضي المحدد هو HTTP على المنفذ 1096. تساعد هذه القيم الافتراضية على بدء الاتصال، لكنها لا تثبت أن الخادم متاح أو موثوق أو ما زال يعمل.

كان الإيجاز مقصوداً. فلدى CNRP تمثيل XML للاستعلام، لكن تضمين استعلام معقد في URI قد يتجاوز حدود الطول سريعاً. لذلك عرّف RFC 3368 صياغة أصغر للاسم الشائع وأزواج السمة والقيمة. واشترط UTF-8 والهروب بعلامة النسبة للبايتات التي لا تسمح بها القواعد؛ ويعرض مثاله الحرف ü في صورة بايتات UTF-8. أما الصيغ المختصرة في المتن فتعليمية، وتظل قواعد ABNF هي المرجع النحوي الحاكم.

كانت الحالة الحدّية الأهم هي go://cnrp.example?id=5432345. يشير هذا URI إلى سجل محدد على خادم محدد، لكنه لا يحمل الاسم الشائع. وقد نبّه قسم الأمن في RFC 3368 إلى هذا التعارض: قد يعتقد المستخدم أن الرابط يشير إلى المورد المرتبط حالياً باسم «BMW»، مع أن URI لا يتضمن كلمة «BMW». يمكن أن يظل المعرّف المقروء آلياً ثابتاً، وأن يبقى في الوقت نفسه غامضاً للشخص المطلوب منه الوثوق به.

استبعد RFC 3367، وهو البروتوكول المرافق، اكتشاف مزوّدي الخدمة واختيارهم، وتسجيل الأسماء وملكيتها وتفرّدها من النطاق الأولي. لذلك ظلّت مجموعة الخدمات التي يضبطها العميل محلياً خياراً محلياً، لا حكماً عالمياً بشأن الجهة التي تتحدث باسم اسم ما. وبعد ذلك أدرج سجل IANA لمخططات URI الرمز go بوصفه دائماً، مع الإحالة إلى RFC 3368. يثبت هذا السجل حالة التسجيل، لا دعم المتصفحات أو وجود خدمات نشطة أو حركة مرور أو انتشاراً فعلياً.

الحد التاريخي المفيد واضح: قد يعرّف الرابط خدمة أو استعلاماً أو سجلاً، لكن هذه الأشياء لا يحل أحدها محل الآخر. ونستخدم ملاحظتي Heng Lu «Reality Layers» و«Running-Code Primacy» كمنظورين تحريريين معلنين للفصل بين الصياغة والتصميم المسجّل والتشغيل المرصود؛ فهما ليستا متطلبات بروتوكول ولا دليلاً على نشر go:.

المصادر