سؤال

نظرًا لأنني أقوم حاليًا بتطوير موقع ويب يجب أن يكون قادرًا على الأداء بشكل أو بآخر بشكل لا تشوبه شائبة في ظل الكثير من الضغط والتحول من سيناريو الاختبار الآلي، سأجرب الضغط البسيط مع الاستمرار على F5 لعدة ثوانٍ- في متصفحي المفضل، وهنا وجدت ملاحظة غريبة مع Google Chrome:

إذا قمت بما ورد أعلاه، فسيتخطى Chrome إرسال رأس If-Modified-Since، وسيضطر خادم الويب إلى جلب الصفحة التي تريد عرضها، مما يؤدي إلى ظهور رمز الحالة 200 بدلاً من 304 المتوقع.

في IE8 (وربما الإصدارات السابقة أيضًا)، توجد هذه المشكلة لا حاضر.

جرب هذه الصفحة البسيطة: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html, ، ثم قم بالتحقيق في الصفحة عن كثب باستخدام Fiddler؛غريب هاه؟

سؤالي هو؛هل هذا حسب التصميم أم خطأ من Google؟

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

المحلول

قد تكون هذه مشكلة تصميم ثانوي.غالبًا ما ترسل المتصفحات طلبات مختلفة عند التحديث؛على سبيل المثال، حاول الضغط على CTRL+F5 في IE وسترى أن IE يقوم بعد ذلك بتقديم طلب HTTP غير مشروط.

هل ترسل توجيهات مناسبة للتخزين المؤقت لـ HTTP على ردودك بحيث لا يلزم التحقق من حداثتها؟ http://www.fiddler2.com/redir/?id=httpperf

نصائح أخرى

هل تفعل Shift-F5 أو Ctrl-F5؟إذا كان الأمر كذلك فقد يبدو ذلك وهذا حسب التصميم.وإلا فمن الممكن أن يكون خطأً.

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