الخلاصة
- يسمح
No-Vary-Searchللمنشأ بأن يعلن أن مفاتيح محددة في الاستعلام، أو ترتيبها، لا تغيّر المطابقة لغرض التخزين الوسيط. وتبقى شروط الحداثة والتحقق وVaryوالتفويض وسائر شروط HTTP نافذة. - لا يحذف الحقل المعلمات ولا يعيد كتابة العنوان. وقد يؤدي إعلان تكافؤ خاطئ إلى تجاوز المنشأ وتسليم استجابة مخزنة في سياق مستخدم آخر.
يصل الطلب الأول إلى /asset?id=12&utm_source=mail، ثم يأتي /asset?utm_source=event&id=12. يعرف التطبيق أن مصدر الحملة لا يغيّر الأصل وأن ترتيب المفتاحين غير مهم. أما الذاكرة الوسيطة فترى عنواني هدف مختلفين. ولا يجوز لها أن تستنتج معناهما من تشابه الأجسام أو أسماء المفاتيح؛ فذلك يمنح الطبقة الأقل معرفة بالتطبيق سلطة دمج هويتين.
يوفر draft-ietf-httpbis-no-vary-search-09، المؤرخ في 17 أغسطس 2026، صيغة صريحة لهذا الإعلان. وفي 29 أغسطس ما زال مسودة إنترنت نشطة في HTTPBIS، مقصوداً بها Proposed Standard، وقد وصلت في IESG إلى الموافقة بانتظار الإعلان مع متابعة مدير المنطقة. ليست RFC بعد، ولا يظهر No-Vary-Search حتى الآن في سجل IANA لأسماء حقول HTTP.
يمكن اختبار النسخة الحالية، لكن لا يصح وصفها كنص نهائي. السجل المعياري يثبت القواعد المقترحة وحدودها، ولا يثبت أن شبكة توصيل بعينها نفذتها، أو أن المنشأ صنّف كل مفتاح بأمان، أو أن ارتفاع نسبة الإصابة منفعة خالية من التسريب.
الفصل الدقيق هو نقطة البداية
يشترط RFC 9111 قبل إعادة استخدام استجابة مخزنة أن تتوافق الطريقة وعنوان الهدف والحقول التي يحددها Vary، وأن تكون الاستجابة حديثة أو قد تحققت بنجاح، وأن تسمح ضوابط الذاكرة بذلك. اختلاف الاستعلام يعني عادةً اختلاف عنوان الهدف.
لا يعرف HTTP إن كان user أو token أو campaign مجرد زينة. كما أن عينات بأجسام متطابقة لا تثبت أن المفتاح لا يؤثر لاحقاً في التوجيه أو الإذن أو الفوترة أو السحب.
يغيّر الحقل الجديد مرحلة مطابقة العنوان فقط. فهو لا يجعل القديم حديثاً، ولا يبطل Vary، ولا يحول استجابة خاصة إلى عامة، ولا يمنح حق الوصول. وبعد إعلان التكافؤ يجب أن تنجح بقية اختبارات RFC 9111 كلها.
قاموس صغير يحمل حكماً كبيراً
القيمة Dictionary وفق RFC 9651. يحدد key-order ما إذا كان ترتيب المفاتيح غير مؤثر. تسرد params أسماء المفاتيح التي تُهمل، بينما تعكس except السياسة فلا يبقى مؤثراً إلا ما تسرده. ولا يجوز جمع params وexcept.
المنشأ هو صاحب الإعلان لأنه يملك دلالة التطبيق. ولا يجوز للوسيط إدخال الحقل أو حذفه أو تعديله إلا إذا كان يتصرف كمنشأ لهذه الاستجابة. أما قاعدة يستنبطها CDN من حركة المرور فتنقل سلطة المعنى إلى جهة لا تعرف لماذا أنشئ المفتاح.
الفشل محافظ: القيمة الغائبة أو غير الصالحة أو المتناقضة تعيد المطابقة الدقيقة مع حساسية للترتيب. الخسارة هي بعض الإصابات، لا طبقة من العزل. وتتجاهل المواصفة مفاتيح القاموس المجهولة؛ لذلك لا يجوز لامتداد مستقبلي إلا توسيع التكافؤ، بينما يحتاج أي تقييد إلى حقل جديد حتى لا يعيد تنفيذ قديم الاستخدام على نطاق أوسع.
الخوارزمية تقارن أزواجاً مفكوكة الترميز
لا يعبر التكافؤ المخطط أو المضيف أو المنفذ أو المسار. وداخل هذه الحدود تحلل السياسة غير الافتراضية الاستعلام بنموذج WHATWG لـapplication/x-www-form-urlencoded، وتحذف الأزواج المهملة أو تبقي مفاتيح except، وترتب حسب المفتاح عند السماح، ثم تقارن المفتاح والقيمة مع حفظ التكرارات.
يفك الترميز المئوي، وتتحول + إلى مسافة، وتعالج المقاطع الفارغة بقواعد النموذج. وقد يتحول UTF-8 غير الصالح إلى U+FFFD، فتنهار سلاسل بايت مختلفة إلى مفتاح واحد. وفي المقابل لا توجد تسوية Unicode، فتظل صيغتا NFC وNFD مختلفتين.
إذا كان التوقيع يغطي البايتات الأصلية، أو كان الموجّه يعتمد ترتيب المفاتيح المكررة، أو كانت القيمة الفارغة تعني موافقة، تصبح هذه الفروق حدوداً أمنية. وتقول المسودة إن الحقل غير مناسب لاستعلام لا يتبع نموذج form-urlencoded. يشرح RFC 6943 الخطر الأعم لمقارنة المعرّفات بقواعد مختلفة؛ هنا يختار الخطأ الإيجابي جسماً حقيقياً للتسليم.
المنشأ يتيح والذاكرة تختار
يمكن لذاكرة داعمة أن تستخدم المطابقة الموسعة، لكنها غير ملزمة. تستطيع البحث الدقيق أولاً، أو بناء فهرس مبسط، أو رفض إصابة محتملة. يقدم المنشأ المعرفة، وتحتفظ الذاكرة بالقرار المحلي لأنها تتحمل أثر إعادة الاستخدام.
إذا حملت استجابات المضيف والمسار نفسيهما إعدادات غير فارغة متعارضة، تسمح المسودة بتفضيل الإعداد المرتبط بحقل Date أحدث من أجل التقارب. الأحدث ليس دليلاً على الصحة؛ فقد تكون القاعدة الخاطئة هي الأحدث، وقد تتوزع على العقد في أوقات مختلفة.
ولا توسع المسودة الإبطال. بعد طلب يغيّر الحالة، يجوز إبطال العناوين المتكافئة، لكن ذلك غير واجب. لذا قد تبقى إدخالات عوملت كمتكافئة عند القراءة بصورة مختلفة بعد الكتابة. كما يفشل كاسر الذاكرة المبني على معلمة إذا أُعلن أن مفتاحه غير مؤثر؛ ويبقى المسار المعنون ببصمة المحتوى خياراً مستقلاً وأوضح.
المعرّفات لا تختفي
يعرض المتصفح العنوان كاملاً وقد يحفظه في السجل. وتتلقى CDN والوسائط المعلمات، وقد تسجلها التحليلات والسجلات. يغير No-Vary-Search المطابقة فقط؛ ليس تنقية خصوصية ولا إعادة توجيه ولا عنواناً معيارياً.
قد تجيب ذاكرة خاصة محلياً فلا يعالج المنشأ وسم التتبع مرة ثانية. لكن الذاكرة المشتركة ترى الطلب وتوسع، عند الخطأ، دائرة الطلبات التي يمكنها تلقي استجابة واحدة.
لا يجوز إهمال أي مفتاح يتحكم في الهوية أو التفويض أو التوقيع أو الموافقة أو التوجيه أو التدقيق أو الفوترة أو السحب أو أي معالجة تلزم لإعادة استخدام آمنة. قد تكون الصورة واحدة لكن الحق في الحصول عليها مختلف. وفي أسوأ حال للذاكرة المشتركة تصل استجابة جُلبت لـBob إلى Alice.
يجب توثيق الطلب الذي لم يصل إلى المنشأ
يربط سجل الإثبات العنوان الظاهر بعنوان الاستجابة المخزنة، والحقل الخام، والإعداد المحلل، وأزواج المقارنة، والإدخال المختار، وبقية اختبارات RFC 9111، وسياق المستخدم والتقسيم، وتجاوز المنشأ، وبصمة الجسم المسلم. لا تميز نسبة الإصابة وحدها بين تكافؤ صحيح وتسريب فعال.
توزع فكرة Lu Heng عن المواصفة المشتركة الدنيا والقرار المحلي المستقبلي السلطة بدقة: المشترك قاموس ومقارنة، ومعنى المفاتيح قرار محلي للتطبيق، والتبني طوعي لكل ذاكرة. وتطلب أولوية الشيفرة العاملة إثبات الإدخال المختار والنتيجة لا الاكتفاء بإعداد مكتوب.
كما يميز بين سيادة البيانات التقنية والعملية. يتحكم المنشأ رسمياً في الحقل، بينما يحتفظ المتصفح بالعنوان وCDN بالسجل والذاكرة بالجسم؛ وربما لا يرى المنشأ الطلب الثاني. يجب أن تتبع الحوكمة هذه الحيازة الواقعية.
عند الشك، النتيجة الآمنة هي إخفاق إصابة إضافي. أما تقليل الفصل بين المستخدمين فليس نتيجة قابلة للتراجع.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
