شرح صفوف ومحتوى الفقرة
من أكثر الأخطاء شيوعاً في هندسة الويب الخلط بين التوجيهين no-cache وno-store؛ فبرغم تقارب الاسمين، يختلف سلوكهما الفعلي اختلافاً جذرياً:
- التوجيه
Cache-Control: no-cache(خزّن النسخة ولكن تحقق من الخادم قبل كل استخدام): على عكس ما يوحي به اسمه الحرفي، فإنno-cacheيسمح للمتصفح بحفظ النسخة في الكاش! لكنه يشترط عدم عرضها للمستخدم في أي زيارة تالية إلا بعد إرسال طلب تحقق شرطي سريع للخادم الأصلي للتأكد من عدم تغيرها. وهو مثالي لصفحاتHTMLالمتجددة. - التوجيه
Cache-Control: no-store(منع التخزين تماماً في أي ذاكرة): يمنع المتصفح وجميع الخوادم الوسيطة منعاً قاطعاً من كتابة أي بايت من الاستجابة في القرص أو الكاش. وهو الخيار الإلزامي للبيانات شديدة الحساسية مثل كشوف الحسابات البنكية ورموز الاسترداد السرية.
جرّب المختبر التفاعلي الآتي لمقارنة سلوك المتصفح مع التوجيهات الأربعة على السلك:
Cache Control Directives Comparisonمقارنة توجيهات التحكم بالكاش
مقارنة توضح الفارق الحاسم بين no-cache لإعادة التحقق الشرطي و no-store لمنع التخزين نهائياً.
Shell
# no-cache: Caches resource, but MUST revalidate with server:
Cache-Control: no-cache, must-revalidate
ETag: "v3a1b2"
# no-store: NEVER write to cache/disk (for sensitive data):
Cache-Control: no-store, private
Cache Revalidation Status Previewمعاينة إعادة التحقق 304
معاينة توضح توفير البيانات باستجابة 304 مع no-cache مقابل المنع التام للتخزين مع no-store.