الخلاصة

  • أبقت مراجعة مجموعة MOQ المنشورة في 1 أكتوبر معرف المعلمة LOCATION_FILTER وهو 0x21، لكنها وضعت Location Filter Type مكان Length المستخدم في النسخة 21. القيم من 0x00 إلى 0x05 تحدد الحقول اللاحقة ومعنى الترشيح؛ أما القيمة غير المعرّفة فتؤدي إلى PROTOCOL_VIOLATION.
  • سجل التغييرات يصنف هذا التعديل ضمن مستوى الجلسة والتحكم، ويفصل عنه إعادة صياغة شرح الاشتراكات الموقوفة بوصفها عملاً تحريرياً. الوثيقة ما زالت مسودة إنترنت نشطة، وليست RFC نهائياً أو دليلاً على حادث تشغيل.

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

في النص السابق كان المعرف 0x21 يتبعه عدد متغير الطول يسمى Length، ثم صفر إلى أربعة أعداد اختيارية. طول البيانات بالبايت هو الذي يحدد عدد الحقول الموجودة. إذا كان الطول صفراً فلا مرشح؛ وإذا وُجد حقلان قيمتهما صفر، فذلك يعني «الكائن التالي». كانت البنية تُستخرج من حجم الرسالة وبعض قيمها، لا من إعلان مباشر للشكل المطلوب.

النص الجديد يحافظ على معرف المعلمة، لكنه يجعل العدد التالي نوعاً للمرشح. 0x00 يعني عدم وجود مرشح، و0x01 بداية نسبية، و0x02 بداية مطلقة، و0x03 مدى ينتهي عند مجموعة، و0x04 مدى مطلقاً كاملاً، و0x05 الكائن التالي من دون حقول إضافية. أي نوع آخر مخالفة للبروتوكول. لا تمثل هذه الأرقام درجات أولوية للمحتوى أو صلاحيات مستخدمين؛ إنها محددات لبنية الطلب على السلك.

تظهر المعلمة في مسارات FETCH وSUBSCRIBE وPUBLISH، وكذلك في تحديث الاشتراك وإخطار الحالة. وهذا يعني أن فحص حالة واحدة عند طرف واحد لا يكفي للاطمئنان إلى مرحّل يستقبل اختياراً ثم يرسل طلباً مقابلاً إلى المنبع. يجب التحقق من النسخة المتفاوض عليها في كل وصلة ومن تطابق الكائنات التي وصلت مع النطاق الذي طُلب. هذه نتيجة تشغيلية نستخلصها من صيغة المسودة، لا نتيجة اختبار منشور أو اتهام لمنتج.

تشرح الوثيقة أن التفاوض على إصدار MOQT يتم عبر ALPN في QUIC وآلية مقابلة في WebTransport، وأن للمسودات معرفات مؤقتة مرتبطة بأرقامها. لذا لا يجوز الاستنتاج من اختلاف صيغة 21 و22 أن تطبيقات متوافقة ستخلط البايتات حتماً؛ التفاوض السليم يفصل السياقين. الخطر الذي يستحق المتابعة هو إعلان دعم نسخة معينة مع بقاء مسار فك الترميز أو الاختبار على افتراضات نسخة أخرى.

وأخيراً، تحدد الملحقات ما هو جديد حقاً. إعلان نوع LOCATION_FILTER وارد تحت تغييرات الجلسة والتحكم. أما ترتيب شرح FETCH ووصف إيقاف الاشتراك مؤقتاً ففي قائمة التغييرات التحريرية. لا ينبغي تحويل شرح أوضح لميزة قائمة إلى خبر عن اختراعها اليوم. الحدث المستقل هنا هو انتقال بنية مرشح الموقع من استدلال بالطول إلى نوع معلن.

المصادر