دروس

ما هي رؤوس HTTP التحكم في ذاكرة التخزين المؤقت

ما هو التخزين المؤقت للمتصفح؟

عندما يقوم شخص ما بزيارة موقع الويب الخاص بك لأول مرة ، يحتاج متصفح الويب الخاص به إلى طلب وتنزيل كل ملف فردي لعرض صفحتك.

ومع ذلك ، في الزيارات اللاحقة ، ليس من المنطقي إجبارهم على طلب وتنزيل كل مورد في كل زيارة.

على سبيل المثال ، ربما يتم تحميل شعارك في كل صفحة ، ولكنه لا يتغير كثيرًا.

إن إجبار متصفح الزائر على إعادة تنزيل شعارك لكل تحميل صفحة واحدة هو مجرد إهدار للموارد التي ستبطئ موقعك.

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

بعد ذلك ، يمكن لمتصفح الزائر تحميل هذا المورد محليًا بدلاً من إعادة تنزيله ، مما سيسرع من أوقات تحميل موقعك ويخلق تجربة أفضل لزوارك.

هذا هو السبب في أنك ترى عادةً “الاستفادة من التخزين المؤقت للمتصفح” كتوصية شائعة في أدوات مثل GTmetrix

و Pingdom.

لتمكين التخزين المؤقت للمتصفح ، تحتاج إلى تكوين خادم الويب الخاص بك بحيث يخبر متصفحات الزائرين بأنواع الملفات التي يجب تخزينها ومدة تخزينها قبل إعادة تنزيلها.

على سبيل المثال ، يمكنك تكوين خادمك ليقول:

“مرحبًا ، قم بتخزين ملفات JPEG لمدة عام واحد ، ولكن قم بتخزين ملفات PNG فقط لمدة شهر واحد”.

بشكل أساسي ، تقوم بإعداد تواريخ انتهاء الصلاحية للمدة التي ينبغي على متصفحات الزوار تخزين محتوى معين فيها.

لماذا تضيف تواريخ انتهاء الصلاحية على الإطلاق؟ لأنك تريد التأكد من أن زوارك لا يزالون يحصلون على أحدث نسخة من صفحتك. من خلال تحديد تاريخ انتهاء الصلاحية ، فإنك تضمن قيام الزائرين بإعادة تنزيل الموارد ذات الصلة بشكل دوري لضمان تجربة محدثة.

ما هو التحكم في ذاكرة التخزين المؤقت ، إذن؟

يعد التحكم في ذاكرة التخزين المؤقت إحدى الطرق الرئيسية للتحكم في سلوك التخزين المؤقت للمتصفح

مع انتهاء صلاحية الرؤوس الأخرى.

بشكل أساسي ، يتيح لك التحكم في ذاكرة التخزين المؤقت تعيين تواريخ “انتهاء الصلاحية”

هذه للتحكم في ما إذا كان متصفح الزائر سيحمل موردًا من ذاكرة التخزين المؤقت المحلية

أو يرسل طلبًا إلى خادم الويب الخاص بموقعك لتنزيل المورد.

يمنحك الكثير من التحكم في كيفية تصرف كل مورد على حدة كما يتيح لك أيضًا التحكم فيمن يمكنه تخزين المحتوى الخاص بك.

على سبيل المثال ، يمكنك القول أن متصفح الزائر يمكنه تخزين صورة معينة مؤقتًا ، ولكن CDN (مثل Cloudflare) لا يمكنه تخزينها مؤقتًا.

وبشكل أكثر تحديدًا ، يعد التحكم في ذاكرة التخزين المؤقت رأس HTTP والذي ينقلنا إلى مصطلح آخر نحتاج إلى تعريفه.

ما هي رؤوس HTTP؟

يتحكم HTTP ، وهو اختصار لـ Hypertext Transfer Protocol ، في كيفية تواصل العملاء والخوادم. لأغراضنا ، العميل هو متصفح الويب للزائر والخادم هو خادم موقع WordPress الخاص بك.

عندما يحتاج العميل إلى ملف ، فإنه يرسل طلبًا إلى الخادم ويرسل الخادم استجابة إلى العميل.

على سبيل المثال، إذا كان موقع الويب الخاص بك لديه صورة، فإن متصفح الزائر طلب أولا أن صورة من الملقم ثم الخادم أن يستجيب مع ملف الصورة. سيكرر المتصفح بعد ذلك نفس العملية لكل مورد على موقعك ، بما في ذلك أوراق أنماط CSS وجافا سكريبت وما إلى ذلك.

تتيح رؤوس HTTP للعملاء أو الخوادم إرسال معلومات إضافية مع طلبات العملاء واستجابات الخادم هذه. هناك أنواع مختلفة من رؤوس HTTP ، مع كون عنصر التحكم في التخزين المؤقت أحدها.

تتضمن معظم متصفحات الويب الحديثة أدوات المطورين التي تتيح لك رؤية رؤوس HTTP المرتبطة بكل طلب / رد يتضمن تحميل صفحة ويب.

في Chrome ، يمكنك:

  • أدوات المطور المفتوحة (CTRL + Shift + I)
  • انتقل إلى علامة التبويب الشبكة
  • خذ المخاطر. لا شيء يمكن أن يحل محل التجربة
  • حدد المورد الذي تريد تحليله
  • انظر إلى علامة التبويب الرؤوس

على سبيل المثال ، إليك جميع رؤوس استجابة HTTP لتحميل الصورة المميزة لإحدى منشورات مدونة WP Rocket:

يمكنك أن ترى أن التحكم في ذاكرة التخزين المؤقت هو أحد هذه الرؤوس ، ولكن هناك الكثير من الرؤوس الأخرى التي تنقل معلومات إضافية.

لقد أضفنا حتى بيضة عيد فصح صغيرة لطيفة في رأس x-curious .

يمكن أن تذهب رؤوس HTTP في كلا الاتجاهين.

أي أن مستعرض الويب الخاص بك يمكنه إرفاق رؤوس HTTP بالطلب الذي يقوم به إلى الخادم

ويمكن للخادم إرفاق رؤوس HTTP بالاستجابة التي يرسلها إلى المستعرض.

تتكون رؤوس HTTP من أزواج القيمة الرئيسية .

المفتاح” هو الجزء الموجود على يسار القولون ، بينما “القيمة” هي الجزء الموجود على اليمين.

وبشكل أكثر تحديدًا ، تسمى القيمة توجيه التحكم في ذاكرة التخزين المؤقت.

كيف يعمل التحكم في ذاكرة التخزين المؤقت؟

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

الآن ، دعنا نتطرق إلى كيفية عمل التحكم في ذاكرة التخزين المؤقت بالفعل والتوجيهات المختلفة التي يمكنك استخدامها للتحكم في سلوك التخزين المؤقت للمتصفح.

كما تعلمنا أعلاه ، يعد التحكم في ذاكرة التخزين المؤقت زوجًا من القيمة الرئيسية يبدو كالتالي:

التحكم في ذاكرة التخزين المؤقت: الحد الأقصى للعمر = 31536000

في هذا المثال ، يكون التوجيه هو max-age = 31536000 ، ولكن هناك توجيهات أخرى للتحكم في ذاكرة التخزين المؤقت يمكنك استخدامها ، ويمكنك أيضًا الجمع بين توجيهات متعددة باستخدام الفواصل.

دعنا نذهب من خلال توجيهات التحكم في ذاكرة التخزين المؤقت الأكثر شيوعًا.

التحكم في ذاكرة التخزين المؤقت: max-age = <seconds>

و الحد الأقصى للعمر يعرف التوجيهية متى متصفح يمكن إعادة استخدام الموارد المنال قبل ذلك يجب تحميل مورد جديد. يبلغ الحد الأقصى للعمر بالثواني ويبدأ بمجرد تقديم الطلب.

كما تعلمنا أعلاه ، يعد التحكم في ذاكرة التخزين المؤقت زوجًا من القيمة الرئيسية يبدو كالتالي:

التحكم في ذاكرة التخزين المؤقت: الحد الأقصى للعمر = 31536000

في هذا المثال ، يكون التوجيه هو max-age = 31536000 ، ولكن هناك توجيهات أخرى للتحكم في ذاكرة التخزين المؤقت يمكنك استخدامها ، ويمكنك أيضًا الجمع بين توجيهات متعددة باستخدام الفواصل.

دعنا نذهب من خلال توجيهات التحكم في ذاكرة التخزين المؤقت الأكثر شيوعًا.

التحكم في ذاكرة التخزين المؤقت: max-age = <seconds>

و الحد الأقصى للعمر يعرف التوجيهية متى متصفح يمكن إعادة استخدام الموارد المنال قبل ذلك يجب تحميل مورد جديد. يبلغ الحد الأقصى للعمر بالثواني ويبدأ بمجرد تقديم الطلب.

مثال:

التحكم في ذاكرة التخزين المؤقت: الحد الأقصى للعمر = 31536000

في هذا المثال ، يطلب الأمر من متصفح الزائر استخدام المورد المخزن مؤقتًا لمدة عام واحد من وقت الطلب الأصلي. هناك 31.536.000 ثانية في عام واحد.

ستحتوي العديد من استجابات التحكم في ذاكرة التخزين المؤقت على توجيه الحد الأقصى للعمر فقط ، لذا يمكنك التفكير في هذا الأمر على أنه التوجيه “الافتراضي”.

و الحد الأقصى للعمر التوجيه يمكن استخدامها من قبل كل من العميل والخادم.

التحكم في التخزين المؤقت: عام والتحكم في التخزين المؤقت: خاص

و الجمهور و خاصة التوجيهات نوعان من توجيهات معارضة أن تحكم أي نوع من أنواع عملاء يمكن تخزين الموارد.

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

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

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

و عامة و خاصة وتستخدم توجيهات فقط من قبل الملقم في استجابة HTTP لها.

التحكم في ذاكرة التخزين المؤقت: s-maxage

ل يالي maxage التوجيه يشبه maxage ، لكن على وجه التحديد عن مخابئ المشتركة (مثل CDN).

يتيح لك التحكم في المدة التي يمكن أن تستمر فيها هذه الموارد المشتركة في خدمة مورد من ذاكرة التخزين المؤقت.

على سبيل المثال ، إذا كنت تستخدم CDN ، فستكون هذه طريقة واحدة للتحكم في مدة تخزين CDN لمواردك

( طالما أن CDN يتبع التوجيه ، وهو ما تفعله معظم CDNs الشائعة ).

ل يالي maxage يستخدم التوجيه فقط من قبل الملقم في استجابة HTTP لها.

التحكم في ذاكرة التخزين المؤقت: لا توجد ذاكرة تخزين مؤقت

على أي ذاكرة التخزين المؤقت التوجيه ومربكة إلى حد ما لأن الاسم.

يسمح لأي ذاكرة تخزين مؤقت بتخزين الاستجابة ، ولكن يجب أن تمر الاستجابة المخزنة من خلال التحقق من الصحة مع الخادم الأصلي قبل استخدامها.

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

إذا كنت ترغب في تجنب تخزين الاستجابة تمامًا في أي ذاكرة تخزين مؤقت ، فأنت في الواقع تريد استخدام no-store ، وهو التوجيه التالي الذي سننظر فيه.

على أي ذاكرة التخزين المؤقت التوجيه يمكن استخدامها من قبل كل من العميل والخادم.

التحكم في التخزين المؤقت: لا يوجد متجر

في أي متجر التوجيه يرفض كل من المتصفحات ومخابئ وسيطة من تخزين المورد.

سيحتاج العميل دائمًا إلى طلب هذا الأصل من الخادم لكل تحميل للصفحة.

عادةً ، ستستخدم هذه المعلومات الحساسة للغاية التي لا تريد تخزينها في ذاكرة التخزين المؤقت أبدًا ، مثل المعلومات المصرفية.

في أي متجر التوجيه يمكن استخدامها من قبل كل من العميل والخادم.

التحكم في ذاكرة التخزين المؤقت: max-stale [= <seconds>]

على عكس التوجيهات الأخرى التي يمكن استخدامها جميعًا في استجابة HTTP للخادم ، يتم استخدام توجيه max-stale فقط في طلب العميل إلى الخادم.

و ماكس-قديمة التوجيه يقول الخادم أن العميل هو على استعداد لقبول الاستجابة التي تجاوزت عمرها الافتراضي نضارة بواسطة الرقم في الحد الأقصى، قديمة التوجيه (بالثواني).

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى
error: عفوا محتوي هذا الموقع محمي بموجب قانون الألفية للملكية الرقمية !!