it-swarm.asia

ما هي القواعد الصعبة والسريعة للتحكم في ذاكرة التخزين المؤقت؟

اعتراف : المواقع التي أحتفظ بها لها قواعد مختلفة للتحكم في ذاكرة التخزين المؤقت تعتمد في الغالب على التكوين الافتراضي للخادم الذي يتم متابعته بتوصيات من سرعة الصفحة & Y-Slow إضافات Firefox وطريقة عرض موارد الشبكة في Google Speed ​​Tracer . تم ضبط Cache-Control على القطاعين العام والخاص اعتمادًا على ما يقولان القيام به ، يتم العبث برؤوس ETag/Last-Modified فقط إذا كان Y-Slow يشير إلى وجود شيء خاطئ ويبدو أن تشفير Vary-Accept-Encoding ضروريًا عند gziping files يدويًا لـ Amazon CloudFront.

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

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

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

تحرير:

--- الرابط من خلال مقال جيف اتوود يشرح التخزين المؤقت بعمق رائع.

للسجل على الرغم من هنا هي القواعد الصعبة والسريعة:

إذا كان الملف مضغوطًا باستخدام GZIP ، وما إلى ذلك - استخدم "cache-control: private" كبديل قد يُرجع الإصدار المضغوط إلى عميل لا يدعمها (ذاكرة التخزين المؤقت للمتصفح ستحتفظ بالملفات المحددة بهذه الطريقة). تذكر أيضًا تضمين "Vary: Accept-Encoding" ليقول إنه قابل للانضغاط.

استخدم Last-Modified بالاقتران مع ETag - يوفر استخدام الحزام والأقواس كلا المصادقين ، بينما يستند ETag إلى محتويات الملف بدلاً من وقت التعديل وحده ، باستخدام كليهما يغطي جميع القواعد. ملاحظة: PageTest AOL's لديه نهج بلانش ضد ETags لسبب ما. إذا كنت تستخدم Apache على أكثر من خادم واحد لاستضافة نفس المحتوى ، فقم بإزالة inode المعلن ضمنيًا من ETags عن طريق استبعاده من توجيه FileETag (أي "FileETag MTime Size") إلا إذا كنت تستخدم بالفعل نفس نظام الملفات الحية.

استخدم "cache-control: public" أينما يمكنك - وهذا يعني أن الخوادم الوكيلة (وذاكرة التخزين المؤقت للمتصفح) ستعيد المحتوى الخاص بك حتى لو كانت بقية تحتاج الصفحة إلى مصادقة HTTP ، إلخ.

15
Metalshark

أولاً ، لا تتخلص من ETag كما يقول Yahoo ، إلا إذا كنت تستخدم مزرعة/مجموعة خوادم. طالما أن نفس الملف يُرجع دائمًا نفس ETag عندما لا يتغير ، فهذا يعد توجيهًا مفيدًا للغاية.

بالنسبة للرؤوس الأخرى ، يقترح Yahoo's أفضل الممارسات تعيين مستقبل بعيد Expires رأس للملفات الثابتة ، استخدم Cache-Control للمحتوى الديناميكي. لكن Cache-control جيدة تمامًا للمحتوى الثابت (لا يوجد فرق بينها إلى حد كبير).

عندما تقوم بتغيير الملفات الثابتة المخزنة مؤقتًا ، ستحتاج إلى تغيير اسم الملف أو إضافة معلمة فريدة إلى النهاية ، على سبيل المثال example.com/styles.css?v=2. يفضل تغيير اسم الملف الفعلي ، كما هو موضح في التعليقات أدناه.

بالمناسبة ، يمكنك تحرير قواعد YSlow حسب رغبتك ، لإزالة قاعدة Etag وإضافة نطاقك الخاص باعتباره CDN. هذه المقالة هي أيضًا قراءة جيدة: مشكلات Yahoo ليست مشكلاتك

8
DisgruntledGoat

تغيير رؤوس طلبات الموارد الخاصة بك لاستخدام التخزين المؤقت بالنسبة لمعظم الأشخاص ، فإن الطريقة التي يمكن من خلالها التخزين المؤقت هي إضافة بعض الأكواد إلى ملف يسمى .htaccess على مضيف/خادم الويب الخاص بك.

هذا يعني الذهاب إلى مدير الملفات (أو أينما ذهبت لإضافة أو تحميل الملفات) على مضيف الويب الخاص بك.

يتحكم ملف. htaccess بالعديد من الأشياء المهمة لموقعك. إذا لم تكن معتادًا على ملف htaccess ، فالرجاء قراءة مقالتي مع htaccess للتعرف على كيفية القيام بذلك قبل تغييره.

يخبر الكود أدناه المتصفحات ما الذي تريد تخزينه مؤقتًا ومدة "تذكره". يجب إضافته إلى أعلى ملف htaccess.

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##

احفظ ملف. htaccess ثم قم بتحديث صفحة الويب الخاصة بك.

مصدر:
https://varvy.com/pagespeed/leverage-browser-caching.html

0
Nomib Nomib