2011-05-04 13 views
9

परिभाषित करता हूं तो Google क्रोम कैश किए गए पृष्ठों का उपयोग क्यों नहीं करता है, मैं एक पृष्ठ के साथ वैध रूप से स्वरूपित HTTP प्रतिक्रिया "कालबाह्य" शीर्षलेख (जैसे "बुध, 04 मई 2011 09:29:09 GMT") भेज रहा हूं response.setDateHeader("Expires", {milliseconds a few seconds in the future}) का उपयोग करते हुए, एक जे 2 ईई अनुप्रयोग से https: // [host]: {port}/([होस्ट] लोकहोस्ट के साथ) के माध्यम से कार्य किया।जब मैं HTTP "समाप्त हो जाता है" शीर्षलेख

मेरे पृष्ठों पर मेरे पास एक ही पृष्ठ का एक लिंक है। जब मैं फ़ायरफ़ॉक्स (4) या आईई (8) के भीतर से इस लिंक पर क्लिक करता हूं, तब तक पृष्ठ को कैश से फिर से लोड किया जाता है जब तक कि समय समाप्त नहीं हो जाता है। एक बार समाप्त होने का समय बीत जाने के बाद, उसी लिंक पर क्लिक करके पृष्ठ को ताजा डेटा के साथ सर्वर से लोड किया जा रहा है। यदि मैंने किसी भी निर्दिष्ट ब्राउज़र पर F5 दबाया है, तो पृष्ठ को सर्वर से नए डेटा के साथ पुनः लोड किया गया है (फ़ायरबग मुझे दिखाता है कि Cache-Control: max-age=0 अनुरोध के साथ भेजा जा रहा है)।

Google क्रोम के साथ, F5 और लिंक पर क्लिक करने पर समान प्रभाव पड़ता है। पृष्ठ हमेशा नए डेटा के साथ सर्वर से पुनः लोड किया जाता है।

मैं इस प्रभाव के किसी भी अच्छी तरह से प्रलेखित स्पष्टीकरण को खोजने में असमर्थ था।

क्या कोई भी जानता है कि मेरे मामले में क्यों Google क्रोम "कालबाह्य" शीर्षकों का सम्मान नहीं कर रहा है, सर्वर पृष्ठ प्रतिक्रियाओं के साथ भेज रहा है और इस प्रकार हमेशा सर्वर से डेटा का अनुरोध कर रहा है?

उत्तर

7

क्रोम इस संबंध में काम करता है जिस तरह से अत्यधिक भ्रम पैदा हो सकता है। ऐसा लगता है कि F5 दबाकर या "इस पृष्ठ को पुनः लोड करें" बस क्रोम को कैश से अनुरोध करने से रोकता है। यूआरएल विंडो में एंटर दबाकर आसानी से इसकी तुलना की जाती है, जहां यह कैश का उपयोग करेगा, भले ही दोनों मामलों में अनुरोध हेडर (जो कहीं भी नहीं भेजा जाता है) में कैश-कंट्रोल: अधिकतम आयु = 0 है।

यदि आप ctrl + F5 दबाते हैं तो आपको कैश-कंट्रोल: नो-कैश मिलता है। मुझे लगता है कि F5 & ctrl + F5 के बीच का अंतर यह है कि दोनों के परिणामस्वरूप सर्वर पर एक अनुरोध भेजा जा रहा है, लेकिन ctrl + F5 मामले में सर्वर को 304 संशोधित नहीं होने का जवाब देना चाहिए।

संबंधित मुद्दे