ماذا يجب أن أفعل لجعل المحتوى مثل الصور خدم أكثر HTTPS يكون التخزين المؤقت من جانب العميل?

StackOverflow https://stackoverflow.com/questions/72358

  •  09-06-2019
  •  | 
  •  

سؤال

أنا باستخدام هر كخادم و Internet Explorer 6 متصفح.صفحة ويب في التطبيق لدينا حوالي 75 الصور.نحن نستخدم SSL.ويبدو أن تكون بطيئة جدا في التحميل كل محتوى.كيف يمكنني تكوين هر حتى أن أي مخابئ الصور ؟

هل كانت مفيدة؟

المحلول

إذا كنت تخدم صفحة عبر https ثم سوف تحتاج إلى خدمة جميع وشملت ثابتة أو ديناميكية الموارد عبر https (إما من نفس المجال أو مجال آخر ، كما عبر https) لتجنب تحذير الأمان في المتصفح.

المحتوى المقدم عبر قناة آمنة لن يتم كتابتها إلى القرص بشكل افتراضي من قبل معظم المتصفحات حتى يعيش في المتصفحات ذاكرة التخزين المؤقت التي هي أصغر بكثير من ذاكرة التخزين المؤقت على القرص.ذاكرة التخزين المؤقت هذه أيضا يختفي عندما يتم إنهاء التطبيق.

وقد قلت كل ذلك هناك أشياء يمكنك القيام به لتحسين cachability SSL الأصول داخل واحد إعدادات المستعرض.بالنسبة للمبتدئين, التأكد من أن جميع الأصول معقولة انتهاء صلاحية ذاكرة التخزين المؤقت-السيطرة على رؤوس.إذا كان القط يجلس خلف أباتشي ثم استخدام mod_expires لإضافتها.هذا سوف تجنب المتصفح الحاجة إلى التحقق من ما إذا كانت الصورة قد تغيرت بين الصفحات

<Location /images>
   FileEtag none
   ExpiresActive on
   ExpiresDefault "access plus 1 month"
</Location>

ثانيا و هذا هو تحديدا MSIE أباتشي معظم أباتشي ssl التكوينات وتشمل هذه الخطوط

SetEnvIf User-Agent ".*MSIE.*" \
     nokeepalive ssl-unclean-shutdown \
     downgrade-1.0 force-response-1.0

مما يؤدي إلى تعطيل keepalive لجميع MSIE وكلاء.IMHO هذا بعيد جدا المحافظين الأخيرة MSIE المتصفحات لديك مشاكل في استخدام SSL 5.x و لم يتم إصلاحها الإصدارات 6.0 قبل SP2, وكلاهما شائعة جدا الآن.التالية هي أكثر تساهلا و لا تعطيل keepalives عند استخدام MSIE SSL

BrowserMatch "MSIE [1-4]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [5-9]" ssl-unclean-shutdown

نصائح أخرى

بعض المتصفحات ذاكرة التخزين المؤقت SSL المحتوى.فايرفوكس 2.0+ لا ذاكرة التخزين المؤقت SSL الموارد على القرص الافتراضي (لزيادة الخصوصية).فايرفوكس 3+ لا ذاكرة التخزين المؤقت على القرص إلا Cache-control:الجمهور رأس يظهر.

لذلك وضع تنتهي:رأس بشكل صحيح Cache-control:العامة.على سبيل المثال

<Files ~ "\.(gif|jpe?g|png|ico|css|js|cab|jar|swf)$">
        # Expire these things
        # Three days after access time
        ExpiresDefault  "now plus 3 days"
        # This makes Firefox 3 cache images over SSL
        Header set Cache-Control public
</Files>

إذا كان الكثير من تلك 75 الصور الرموز أو الصور التي تظهر على كل صفحة يمكنك استخدام CSS العفاريت إلى خفض كبير في عدد طلبات HTTP وبالتالي تحميل الصفحة بشكل أسرع:

http://www.alistapart.com/articles/sprites/

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

المحتوى يقدم على اتصال HTTPS لم يحصل مؤقتا في المتصفح.لا يمكنك أن تفعل الكثير عن ذلك.

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

الجواب الأول هو الصحيح أن لا شيء المخزنة مؤقتا عند استخدام HTTPS.ومع ذلك ، عند إنشاء صفحة الويب الخاصة بك, قد ترغب في الرجوع إلى الصور الفردية URL.بهذه الطريقة يمكنك تحديد الصور التي منشؤها HTTP المصدر ، وأنها سوف(من المحتمل) أن ذاكرة التخزين المؤقت عن طريق المتصفح.

ربما كنت يمكن أن تضيف إضافية server/فرعي توفر الصور دون https ؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top