HTTP कैश नियंत्रण अधिकतम आयु, पुन: संशोधित होना चाहिए




http-headers cache-control (2)

मेरे पास कैश-कंट्रोल से संबंधित कुछ प्रश्न हैं।

यदि मैं कैश-कंट्रोल max-age=3600, must-revalidate निर्दिष्ट करता हूं, तो HTTP शीर्षलेख में परिभाषित अंतिम संशोधित शीर्षलेख के साथ एक स्थिर HTML / js / images / css फ़ाइल के लिए max-age=3600, must-revalidate :

  1. ब्राउज़र / प्रॉक्सी कैश (स्क्विड / अकामाई की तरह) अधिकतम आयु की अवधि समाप्त होने से पहले सत्यापित करने के लिए मूल सर्वर पर जाता है? या यह कैश से अधिकतम आयु तक समाप्त होने तक सामग्री की सेवा करेगा?
  2. अधिकतम आयु की समाप्ति के बाद (कैश से समाप्त होने के बाद), क्या कोई संशोधित-चूंकि चेक है या मूल सर्वर से सामग्री फिर से डाउनलोड की गई है w / o अगर संशोधित-चेक के बाद से?

ए) यदि सर्वर में यह हेडर शामिल है:

Cache-Control "max-age=3600, must-revalidate"

यह क्लाइंट कैश और प्रॉक्सी कैश दोनों को बता रहा है कि एक बार जब सामग्री पुरानी हो जाती है (3600 सेकेंड से पुराना) तो उन्हें सामग्री की सेवा करने से पहले मूल सर्वर पर पुनरीक्षण करना होगा। यह कैशिंग सिस्टम का डिफ़ॉल्ट व्यवहार must-revalidate , लेकिन must-revalidate निर्देश इस आवश्यकता को स्पष्ट बना देता है।

बी) ग्राहक को फिर से वैध होना चाहिए। यह ईटाग के साथ If-Match या If-None-Match नो If-None-Match हेडर का उपयोग करके पुन: वैध हो सकता है, या यह किसी दिनांक के साथ हेड If-Modified-Since या If-Unmodified-Since अनमोडिफाइड If-None-Match हेडर्स का उपयोग कर सकता है।


ए। इस पृष्ठ पर 'आंकड़े' टैब को देखें और देखें कि क्या होता है।

ख। समाप्ति के बाद यदि फ़ाइल अपडेट हो तो ब्राउज़र सर्वर पर जांच करेगा। यदि नहीं, तो सर्वर 304 Not Modified शीर्षलेख के साथ प्रतिक्रिया देगा और कुछ भी डाउनलोड नहीं होगा।

आप फायरबग या इसी तरह के टूल्स में 'नेट' पैनल को देखकर खुद को इस व्यवहार की जांच कर सकते हैं। बस पता बार में यूआरएल पुनः दर्ज करें और अपने कैश खाली होने पर अनुरोधों की संख्या के साथ HTTP अनुरोधों की संख्या की तुलना करें।





cache-control