قام الخادم بتعيين ذاكرة تخزين مؤقت طويلة للموارد الثابتة (expires 7d)، وميزته السرعة، بينما ثمنه هو: عند تعديلك لملفات CSS أو JS، لا يزال متصفح المستخدم يستخدم النسخة القديمة.. والأعراض هي: «لقد عدّلتُ بالفعل، لكن التغيير غير ظاهر على البيئة الإنتاجية». والعلاج الوحيد هو إضافة رمز إصدار إلى الإشارات، بل ويجبتعديل واحد = تحديث واحد. الصق كود HTML هنا، وأضف جميع العلامات دفعة واحدة.
—
1 · الوقوع في نفس الحفرة ثلاث مرات متتالية.في المرة الأولى التي عُدّل فيها ملف CSS، لم يتغير شيء على البيئة الإنتاجية؛ وفي المرة الثانية أيضًا لم يتغير شيء؛ وفي المرة الثالثة، حتى بعد تعديل التنقل بملف JS، لم يظهر التغيير. والسبب الجذري واحدٌ في جميع الحالات: قام nginx بتعيين مهلة تخزين مؤقت طويلة للموارد الثابتة. expires 7dبينما لا تحتوي المراجع في الصفحة على أرقام إصدار.
2 · القواعد بسيطة جداً، لكن يجب إدراجها في الإجراءات.يجب تعيين رمز الإصدار عند تعيين مهلة تخزين مؤقت طويلة؛ ويجب رفع رقم الإصدار عند كل تعديل على المورد.أصبح هذا الآن إجراءً ثابتاً في قائمة النشر الخاصة بنا.
3 · تختلف صفحات الخلفية عكسياً.تتطلب صفحات الخلفية/البيانات ما يلي: Cache-Control: no-store، ولا تُطبَّق عليها ذاكرة التخزين المؤقت الطويلة، وإلا سيتعيّن الانتظار 7 أيام بعد التعديل في لوحة التحكم.
4 · لا تُعدِّل صفحة واحدة فقط.يتم الإشارة إلى ملف CSS واحد من قِبل ٩ صفحات، فإذا عُدّل فقط بعض هذه الصفحات، سيظهر الوضع الغريب «بعض الصفحات حديثة وبعضها قديم».