2010-10-24 6 views
7

अक्सर मैंकैसे आवश्यक इसका इस्तेमाल करने के लिए "होगा पुनः सत्यापित" में है "कैश-नियंत्रण: नहीं-कैश, होगा दोबारा सत्यापित"

Cache-Control: no-cache 

या

Cache-Control: max-age=0 

का उपयोग कल्पना का कहना है must-revalidatemax-stale के लिए ... (सर्वर समस्या max-stale?)

तो अगर सामान्य वेब सर्वर के लिए, अपाचे, या रेल mongrels के साथ है, तो मुझे लगता है कि आम तौर पर कोई max-stale है , तो must-revalidate की आवश्यकता नहीं है?

उत्तर

7

must-revalidate सर्वर द्वारा निर्दिष्ट किया जाना चाहिए जहां यह गलत (और बस से इनकी नहीं) एक ग्राहक एक बासी प्रतिक्रिया पाने के लिए किया जाएगा। जैसा कि आपने उल्लेख किया है, यह max-stale के साथ सभी अनुरोधों पर लागू होता है। यह भी लागू होता है, यदि एक कैश अस्थायी रूप से मूल से कनेक्टिविटी खो देता है (इस मामले में एक कैश को Warning शीर्षलेख के साथ एक पुरानी प्रविष्टि वापस करने की अनुमति है)। ऐसा कहा जा रहा है, मुझे लगता है कि आप सही हैं कि इस निर्देश को विशेष रूप से अभ्यास में जरूरी नहीं है; यह एक ऐसी स्थिति है जहां मूल एक ग्राहक कैश संसाधन की एक प्रतिलिपि (बैंडविड्थ संरक्षण के उद्देश्यों के लिए) जाने के लिए, लेकिन हमेशा उपयोग करने से पहले इसे सत्यापित करने में, के रूप में चाहता है में सबसे अधिक बार देखा है:

Cache-Control: private, max-age=0, must-revalidate