it-swarm.asia

متى يجب استخدام وعدم استخدام ETags

كنت أبحث فقط في موقعنا على WebPageTest.org وأحد توصياتهم لتسريع موقع الويب هو:

عمومًا ، لا ينبغي استخدام رؤوس ETag إلا إذا كان لديك سبب صريح في الحاجة إليها

كنت أتساءل ماذا يعني هذا. هل هذا يعني أن المحتوى الثابت الذي تعرفه لن يتغير ولا يجب أن يحتوي عليه ، أو هل يعني أن المحتوى الذي تعرفه سيتغير بانتظام يجب ألا يحتوي عليه ، أو هل يعني أنه يجب عليك عدم استخدامه بشكل عام إلا إذا كان لديك حاجة محددة.

إذا كان هذا هو الأخير ، متى هو الوقت المناسب لاستخدامها؟ شكرا على اي مساعدة.

9
Django Reinhardt

تعتبر ETags بديلاً (ولكن يمكن استخدامها مع) "Last-Modified-Time" من أجل تحديد التحقق من صحة ذاكرة التخزين المؤقت.

يمكن للعميل إرسال شرط مسبق مثل if-match أو if-none-match بناءً على ETag. هذا ليس فقط لطلبات GET (وهو ما يفعله webpagetest.org) ، يمكنك استخدام "التحديث الانتهازي" بحيث يكون طلب PUT شرط مسبق ولن يتم تنفيذ عملية التحديث إذا تم تحديث المورد منذ أن تم ETag المكتسبة الماضي.

ببساطة: تضغط على "تعديل" على صفحة في CMS ، ويضرب صديقك على "تعديل" على صفحة في CMS ، ويؤدي صديقك تعديلاته وينقذ حفظه ، وأخيرا تضغط على "حفظ" - بدون رأس ETag أو Content-MD5 HTTP ، ستحتاج لإعادة اختراع العجلة لمنع حدوث مشكلات (مثل مسح تغييرات أصدقائك) ، يعد الحل بالفعل جزءًا من بروتوكول HTTP ، وبالتالي من المنطقي استخدامه فقط.

بشكل عام ، أتفق مع AOL (الذين يديرون webpagetest.org) على نصيحة "مقاس واحد يناسب الجميع" - من الأفضل ألا تسد رؤوس HTTP بخيوط مشفرة (ETags غير قابلة للقراءة بشكل عام أو بشري) عندما تكون الثانية من الفرق ( الذي يمكن لآخر مرة تعديله اكتشافه) سيؤدي المهمة المطلوبة.

إذا تم تحديث الصفحة عدة مرات في الثانية وتحتاج بشدة إلى عرض أحدث إصدار أكثر دقة ، فقد ترغب في تجربة حلول أخرى غير HTTP GETs أو مجرد استخدام ETags.

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

8
Metalshark

لإعادة صياغة ترميز Horor ممتازة تقييم المكون الإضافي YSlow Firebug (الذي يظهر أن WebPageTest.org يستخدم كأساس لتقييمه):

"Yahoo هي واحدة من أكثر مواقع الويب ازدحامًا في العالم - مشاكلها على الأرجح ليست مشكلتك."

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

7
danlefree