الخلاصة

  • يقدّم RFC 10009 مواد YANG 1.1 قابلة لإعادة الاستخدام لعملاء HTTP وخوادمه: URI للعميل، إصدارات مسموحة، معلمات TLS ووكيل اختيارية، إعداد HTTP للخادم وتكوينًا مريحًا لمكدس الاستماع.
  • تعرّف الوحدات typedef ومجموعات فقط؛ ولا تنشئ بمفردها عقدًا يمكن الوصول إليها عبر بروتوكول. النموذج المكتمل دليل نية إعداد، لا دليل استماع أو مصادقة أو قبول طلب أو أثر ملاحظ.

قيمة RFC 10009 تقع قبل فتح الاتصال. تستطيع مجموعة ietf-http-client أن تصف URI، وقائمة إصدارات HTTP التي يسمح بها قرار محلي، ومواد TLS للعميل، وخيار المرور عبر وكيل. وتصف ietf-http-server الجزء HTTP من مكدس الخادم، فيما تجمع مجموعة أخرى HTTP مع TCP أو TLS أو QUIC/UDP. هكذا يمكن لنموذج مستهلك أن يعرض سطح إعداد متماسكًا من دون أن يمحو الحدود بين الطبقات أو يعلن أن الخدمة تحققت.

العميل يكشف هذا التحفظ بوضوح. الجزء الإلزامي الوحيد هو uri، وله scheme وhost إلزاميان. يحمل scheme وauthority في URI معلومات تخص الطبقات الأدنى، لكنهما لا يراقبان جواب DNS ولا يثبتان مسار TCP أو QUIC ولا يسجلان قرار شهادة. تعبّر protocol-versions عما تسمح به الإعدادات؛ أما supported-versions للقراءة فقط فتعبر عما تدعمه التنفيذات مستقلًا عن الإعداد المختار. يمكن لمواد TLS الاختيارية أن تسمّي هوية العميل ومواد توثيق الخادم، ويمكن لحقول الوكيل أن تسمّي المسار الوسيط. لا يضمن شيء من ذلك الوصول إلى طرف بعينه أو قبوله. وإذا غابت معلمات TLS، فلا يمكن إنشاء اتصال TLS تحت هذا الإعداد؛ أما وجودها فلا يساوي نجاح ذلك الاتصال.

والخادم محدود بالقدر نفسه. تغطي مجموعة HTTP جزء HTTP من المكدس ولا تضبط TCP أو TLS. تجمع مجموعة الاستماع المريحة HTTP فوق TCP أو TLS أو QUIC، لكنها تُبقي المجموعة السفلية ظاهرة. server-name والإصدارات المسموحة ومخزن مستخدمين Basic البسيط والاختياري اختيارات إعداد. لا تثبت أن عملية استمعت، أو أن منفذًا ارتبط، أو أن هوية نظير اجتازت التحقق، أو أن دورة حياة كلمة المرور سليمة، أو أن التطبيق أجاز إجراءً. قد يكون النموذج سليمًا، ثم تفشل السلسلة عند كل خطوة لاحقة.

الجملة الحاسمة أن وحدات RFC 10009 الثلاث تعرّف أنواعًا أو مجموعات قابلة لإعادة الاستخدام، ولا تعرّف وحدها عقد بيانات يمكن الوصول إليها بالبروتوكول. يلزم أن تستنسخها وحدة مستهلكة. لذلك توجد قبل التشغيل وثيقتان مختلفتان: المادة القابلة لإعادة الاستخدام والتصميم الفعلي لعقد المستهلك. ثم تأتي كتابة إدارة مخوّلة، ومراجعة منشورة، ومستمع مربوط، ونتيجة نقل ونظير، وتبادل HTTP، وقبول التطبيق، والأثر المرصود. اختصار ذلك كله إلى «نقطة النهاية مُعدة» يجعل النية نتيجة تشغيلية بلا سند.

سلطة الإعداد تقف قبل سلطة الخدمة

يحافظ قسم الأمن على الفصل ذاته. فآثار وحدات المجموعات تعتمد على الوحدات التي تستخدمها. تتطلب إدارة NETCONF وRESTCONF نقلًا آمنًا ومصادقة متبادلة؛ ويمكن لـ NACM أن يقيّد عمليات الإدارة ومحتواها بحسب المستخدم. هذه ضوابط لمن يقرأ سطح الإدارة أو يغيره. ليست إذنًا عامًا لعميل HTTP بأن ينفذ أي فعل تجاري، ولا برهانًا أن خدمة سُلّمت.

وينطبق الحذر نفسه على typedef إصدارات HTTP الذي تحتفظ به IANA. يمنح السجل مفردات مشتركة، وقد تكشف تنفيذات عن قدراتها. لا يثبت أي منهما أن إصدارًا فُعّل في إعداد معين أو تفاوض عليه مع نظير أو قبله وسيط أو نفع تطبيقًا. السجل مرجع، والقدرة قول محلي، والتبادل الجاري دليل من نوع آخر.

هذه قراءة تحريرية وليست مطلبًا من IETF. يوضح طرح Heng Lu عن المواصفة الأولية الدنيا لماذا تبقى الطبقة المشتركة ضيقة: لتجعل المكونات قابلة للتركيب وتبقي الاختيارات اللاحقة محلية. وتقدم أولوية الكود العامل اختبارًا عمليًا: ادعاء أن الخدمة عملت يخص سجل التنفيذ المتوافق عليه، لا النموذج السابق وحده.