يمكن أن يؤدي التخزين المؤقت لبروتوكول HTTP إلى زيادة وقت تحميل صفحتك في الزيارات المتكررة.
عندما يطلب أحد المتصفحات موردًا، يمكن للخادم الذي يوفر المورد إعلام المتصفح بالمدة الزمنية التي يجب أن يخزنها المورد مؤقتًا أو يخزّنها مؤقتًا. وبالنسبة إلى أي طلب لاحق لهذا المورد، يستخدم المتصفِّح نسخته المحلية بدلاً من الحصول عليها من الشبكة.
كيفية تعذُّر التدقيق في سياسة ذاكرة التخزين المؤقت في Lighthouse
تضع Lighthouse علامة على جميع الموارد الثابتة التي لم يتم تخزينها مؤقتًا:
تعتبر أداة Lighthouse أنّ الموارد قابلة للتخزين المؤقت في حال استيفاء جميع الشروط التالية:
- يكون المورد عبارة عن خط أو صورة أو ملف وسائط أو برنامج نصي أو ورقة أنماط.
- يحتوي المورد على رمز حالة HTTP أو
200
أو203
أو206
. - لا يحتوي المورد على سياسة صريحة لعدم التخزين المؤقت.
عندما تفشل الصفحة في التدقيق، تسرد Lighthouse النتائج في جدول مكون من ثلاثة أعمدة:
URL | موقع المورد القابل للتخزين المؤقت |
مدة البقاء (TTL) لذاكرة التخزين المؤقت | مدة التخزين المؤقت الحالية للمصدر |
حجم النقل | تقدير للبيانات التي سيحفظها المستخدمون إذا تم تخزين المورد الذي تم وضع علامة عليه في ذاكرة التخزين المؤقت |
كيفية تخزين الموارد الثابتة مؤقتًا باستخدام التخزين المؤقت عبر HTTP
اضبط الخادم لعرض عنوان استجابة HTTP Cache-Control
:
Cache-Control: max-age=31536000
يحدّد التوجيه max-age
للمتصفّح المدة التي يجب أن يتم خلالها تخزين المورد مؤقتًا بالثواني.
يضبط هذا المثال المدة على 31536000
، والتي تتوافق مع سنة واحدة:
60 ثانية × 60 دقيقة × 24 ساعة × 365 يومًا = 31536000 ثانية.
يجب تخزين الأصول الثابتة غير القابلة للتغيير في ذاكرة التخزين المؤقت لفترة طويلة، مثل عام أو أكثر.
استخدم no-cache
إذا كان تغيير الموارد وحداثتها مهمًا،
ولكنك لا تزال تريد الحصول على بعض مزايا السرعة في التخزين المؤقت.
لا يزال المتصفح يخزّن مؤقتًا موردًا تم ضبطه على no-cache
ولكنه يتحقّق مع الخادم أولاً للتأكّد من أنّ المورد لا يزال ساريًا.
لا يُفضل دائمًا استخدام مدة أطول لذاكرة التخزين المؤقت. في نهاية المطاف، الأمر متروك لك لتحديد مدة ذاكرة التخزين المؤقت المثلى لمواردك.
هناك العديد من التوجيهات لتخصيص الطريقة التي يخزِّن بها المتصفِّح الموارد المختلفة في ذاكرة التخزين المؤقت. يمكنك الاطّلاع على مزيد من المعلومات حول التخزين المؤقت للموارد في ذاكرة التخزين المؤقت عبر HTTP: دليل خط الدفاع الأول والدرس التطبيقي حول ضبط سلوك التخزين المؤقت عبر HTTP.
كيفية التحقق من صحة الردود المخزّنة مؤقتًا في "أدوات مطوري البرامج في Chrome"
لمعرفة الموارد التي يحصل عليها المتصفّح من ذاكرة التخزين المؤقت، افتح علامة التبويب الشبكة في "أدوات مطوري البرامج في Chrome":
[comment]: <> (كانت القائمة التالية رمزًا قصيرًا من web.dev، ولكن لم تتم ترجمتها من الإنجليزية لأي لغة.)
1- اضغط على Control+Shift+J
(أو Command+Option+J
على نظام التشغيل Mac) لفتح "أدوات مطوّري البرامج".
2. انقر على علامة التبويب Network (الشبكة).
يمكن أن يساعدك عمود الحجم في "أدوات مطوري البرامج في Chrome" في التحقق من أنه تم تخزين مورد في ذاكرة التخزين المؤقت:
يعرض Chrome الموارد الأكثر طلبًا من ذاكرة التخزين المؤقت للذاكرة، وهي عملية سريعة للغاية ولكن يتم محوها عند إغلاق المتصفّح.
للتحقّق من ضبط عنوان Cache-Control
للمورد كما هو متوقع،
تحقَّق من بيانات عنوان HTTP الخاص به:
- انقر على عنوان URL للطلب، ضمن عمود الاسم في جدول "الطلبات".
- انقر على علامة التبويب العناوين.
إرشادات خاصة بحِزم البيانات
Drupal
يمكنك ضبط الحد الأقصى لعمر المتصفح وذاكرة التخزين المؤقت للخادم الوكيل في صفحة الإدارة > الضبط > التطوير. يُرجى الاطّلاع على مراجع أداء Drupal.
Joomla
يمكنك الاطّلاع على ذاكرة التخزين المؤقت.
WordPress
يُرجى الاطّلاع على التخزين المؤقت للمتصفّح.