surfup

فحص ذاكرة CDN والمتصفح المؤقتة بعد الإصدار

حدد ما إذا كان HTML القديم يُقدَّم من ذاكرة الحافة أو ذاكرة المتصفح.

لا يؤدي إفراغ ذاكرة CDN إلى مسح الملفات المخزنة مسبقًا في متصفح الزائر. افحص مسار الاستجابة قبل إفراغ الذاكرة على نطاق واسع أو زيادة مدة التخزين المؤقت.

قارن HTML والأصول ذات الإصدارات

  • اطلب الصفحة والأصل المحددين من جلسة متصفح نظيفة. وسجّل الحالة وAge وCache-Control وETag/Last-Modified وترويسة حالة ذاكرة CDN المؤقتة إن وُجدت.
  • تحقق من إعادة التحقق من HTML عند التنقل ومن استخدام JS/CSS ذي تجزئة المحتوى للتخزين المؤقت طويل الأمد. ولا تطبّق سياسة غير قابلة للتغيير لمدة عام على عنوان URL قابل للتعديل.

أفرغ طبقة البيانات القديمة وحدها

  • إذا أعاد CDN بايتات قديمة، فأفرغ عنوان URL أو الإصدار المحدد وأعد الفحص من شبكتين. وإذا كان متصفح واحد فقط يعرض نسخة قديمة، فاختبر ملفًا شخصيًا جديدًا قبل تغيير قواعد الحافة.
  • بعد التغيير، تحقق من الصفحات بعد تسجيل الدخول والصفحات العامة كلًا على حدة. يجب ألا تدخل الاستجابات المخصصة إلى ذاكرات التخزين المؤقت المشتركة؛ والتقط الترويسات واحتفظ بنسخة من القاعدة السابقة للتراجع.

مثال والنتيجة المتوقعة

  • شغّل curl -sS -D page.headers -o page.html PAGE_URL للصفحة؛ واستخدم أسماء مختلفة مثل asset.headers وasset.bin للأصل ذي التجزئة. افحص ملف page.html المحفوظ أو قارن معرّف الإصدار بالمصدر الأصلي. كرر طلبَي GET بعد النشر وقارن Age وترويسة حالة CDN؛ وافحص Cache-Control وETag أيضًا. قد لا يُخزّن HTML افتراضيًا، لذا افحص أولًا قواعد الموقع الفعلية.
  • إذا كان ملف متصفح واحد فقط يعرض نسخة قديمة، فافحص service worker وذاكرته المحلية. وإذا أعاد CDN حالة HIT لنسخة قديمة، فأفرغ المسار المتأثر المحدد وأعد الاختبار في ملف شخصي جديد. وإذا كان المصدر الأصلي قديمًا أيضًا، فأصلح النشر أو المصدر أولًا. لا تفرغ المسارات غير المرتبطة.

المصادر الأساسية