Cache-Control विशेषता को रिक्वेस्ट हेडर (क्लाइंट से सर्वर) में क्यों भेजा जाता है?


163

Cache-ControlHTTP हेडर के क्षेत्र के बारे में पढ़ने के बाद ,

मैं समझता हूँ कि Cache-ControlHTTP प्रतिक्रिया हेडर (ग्राहक के लिए सर्वर) में क्षेत्र, कैसे प्रतिक्रिया को संभालने के लिए पर मध्यवर्ती प्रॉक्सी सर्वर / ग्राहक ब्राउज़र के लिए निर्देशों को निर्दिष्ट के लिए अलग मान भेजकर Cache-Controlक्षेत्र: private, public, no-cache, या no-storeप्रतिक्रिया हेडर में।

लेकिन मुझे नहीं लगता कि हमें Cache-Controlअनुरोध शीर्षलेख (क्लाइंट से सर्वर) में विशेषता भेजने की आवश्यकता क्यों है ?

जवाबों:


137

Cache-Control: no-cacheमध्यवर्ती प्रॉक्सी में संसाधन के सत्यापन को मजबूर करने के लिए आम तौर पर एक अनुरोध हेडर (वेब ​​ब्राउज़र से सर्वर पर भेजा जाता है) में उपयोग किया जाता है। यदि क्लाइंट सर्वर को यह अनुरोध नहीं भेजता है, तो मध्यवर्ती प्रॉक्सिस सामग्री की एक प्रति वापस लौटा देगा यदि यह ताज़ा है ( Expireया max-ageफ़ील्ड्स के अनुसार समाप्त नहीं हुआ है )। Cache-Controlइन प्रॉक्सिज़ को कॉपी को फिर से अमान्य करने के लिए निर्देशित करता है, भले ही यह ताज़ा हो।


8
यहां बहुत देर हो सकती है, लेकिन सिवाय इसके कि अन्य उपयोग क्या हैं? किसी भी उद्देश्य के लिए अधिकतम आयु क्षेत्र का उपयोग किया जाता है?
सैम

आधुनिक ब्राउज़र ऐसा क्यों करते हैं? वे मध्यवर्ती प्रॉक्सी पर भरोसा नहीं करते, भले ही वे वेब मानकों के अनुसार व्यवहार कर रहे हों ??
रोज़र

1
@rogerdpack नहीं, क्योंकि वे उन पर भरोसा करते हैं, इसलिए वे हेडर भेजते हैं कि उन्हें भरोसा है कि यह इंगित करने के लिए सम्मानित किया जाएगा कि उनके पास सबसे अधिक उपयोग की आवश्यकता से अधिक ताजगी की आवश्यकता के लिए कुछ विशेष कारण हैं।
जॉन हन्ना

1
@rogerdpack यदि आपने अभी-अभी कुछ किया है तो आपको पता है कि राज्य बदल गया है और यह प्रतिबिंबित करना चाहता है, एक क्लासिक मामला होगा।
जॉन हैना

8
@JonHanna शायद आपके पास Chrome डेवलपर टूल में "अक्षम कैश" है? : डी
ग्रेगरी मगशर्क

15

एक क्लाइंट Cache-Controlअनुरोध में शीर्ष लेख भेज सकता है ताकि विशिष्ट कैशिंग व्यवहार का अनुरोध किया जा सके, जैसे कि मूल सर्वर और किसी भी मध्यवर्ती प्रॉक्सी सर्वर से पुनर्मूल्यांकन।


4

उपरोक्त उत्तर के अलावा,
एक सेटअप हो सकता है जहां कैश चाइनिंग लागू किया जाता है। उस स्थिति में यदि अनुरोध पहले कैश के लिए आता है जहां वह संतुष्ट नहीं है, तो यह आगे चलकर कैश में जा सकता है।

इस प्रकार सर्वर से हमेशा प्रतिक्रिया प्राप्त करने के लिए हम अनुरोध शीर्षलेखों में कैश-नियंत्रण शामिल करते हैं। यह सुनिश्चित करेगा कि प्रतिक्रिया हमेशा सर्वर से हो।


आप कहते हैं "इस प्रकार सर्वर से हमेशा प्रतिक्रिया प्राप्त करने के लिए हम अनुरोध हेडर में कैश-कंट्रोल शामिल करते हैं। यह सुनिश्चित करेगा कि प्रतिक्रिया हमेशा सर्वर से हो।" इस हेडर का मूल्य क्या होगा?
डॉन हैच

Cache-Control: no-cacheयह सुनिश्चित करने के लिए प्रॉक्सी को बताएगा कि प्रतिक्रिया सभी तरह से मान्य है।
मोगी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.