2010-12-23 12 views
5

क्या कोई इसे समझा सकता है?हेडर क्या करता है ("समाप्त हो जाता है: 0") क्या करते हैं?

+0

शायद यह ब्राउज़र/ग्राहक को पृष्ठ को कैश करने के नियमों को बताने का इरादा है। लेकिन यह HTTP 1.0 पर आधारित है। HTTP 1.1 में पेश किए गए कुछ और मजबूत कैश नियंत्रण शीर्षलेख हैं जिन्हें भी सेट किया जाना चाहिए। – Asaph

उत्तर

6

आम तौर पर कैशिंग को रोकने के लिए उपयोग किया जाता है। हालांकि, इस दस्तावेज़ शायद एक बेहतर विवरण के साथ प्रदान करेगा:

http://download.oracle.com/docs/cd/E13158_01/alui/wci/docs103/devguide/tsk_pagelets_settingcaching_httpexpires.html

के शब्दों में:

कभी का उपयोग कैशिंग को रोकने के लिए समय-सीमा समाप्त = 0। एक्सपियर हेडर रिमोट सर्वर द्वारा भेजा जाता है और पोर्टल सर्वर द्वारा ब्राउज़र में से गुज़रता है। जब तक कि सभी तीन मशीनों पर समय सिंक्रनाइज़ नहीं किया जाता है, तो एक समाप्ति = 0 हेडर गलती से कैश की गई सामग्री को वापस कर सकता है। इस समस्या को हल करने के लिए, हेडर को निश्चित तिथि पर पर निश्चित रूप से समाप्त करें।

+0

मुझे डर है कि यह सही नहीं है। एक बेहतर स्पष्टीकरण के लिए http://stackoverflow.com/questions/11357430/http-expires-header-values-0-and-1 देखें। – user123444555621

0

कैश समाप्ति शीर्षलेख सेट करता है। यह ब्राउजर को बताता है कि उन्हें इसे लाने से पहले कैश रखने की अनुमति दी जाती है।

मेरा मानना ​​है कि 0 का मतलब है कि यह कभी समाप्त नहीं होता है जो सभी प्रकार की समस्याओं का कारण बन सकता है। मेरा मानना ​​है कि इकाई सेकंड है। दूसरी ओर इसका मतलब यह हो सकता है कि इसे कैश नहीं किया जा सकता है।

5

कैसे कैशिंग काम करता है (अन्य चीजों के साथ) यह है कि जब आप पृष्ठ की सामग्री समाप्त हो जाएंगे तो ब्राउज़र को यह एक हेडर भेज देगा। इसका अर्थ यह है कि यदि आप हेडर भेजते हैं जैसे:

header("Expires Sunday June 10th 2011"); // not correct timestamp 

सामग्री उस तारीख तक 'समाप्त नहीं होगी'। ब्राउज़र फिर से सभी सामग्री को डाउनलोड करने के बजाय स्थानीय रूप से अपने ब्राउज़र से पृष्ठ की सेवा के लिए कैशिंग तकनीकों का उपयोग कर सकता है।

जब आप 0 से समाप्ति सेट करते हैं, तो यह सुनिश्चित करता है कि अगली बार ब्राउज़र पृष्ठ को लोड करेगा, यह सामग्री डाउनलोड करेगा, इस प्रकार आपको दूसरे डेटा तक पहुंच जाएगा। हालांकि, जैसा कि आप अन्य उत्तरों से देख सकते हैं, आपको कैशिंग को रोकने के लिए 0 नहीं भेजना चाहिए, बल्कि अतीत में एक तारीख भेजना चाहिए।

-1

कुछ ब्राउज़रों हमेशा स्टाइलशीट, javascripts और अन्य seldomnly बदलते फाइलों को फिर से लोड, जब एक वेबसाइट लोड हो रहा है जो बुरा देरी का कारण बनता है

पर के लिए कैश में फ़ाइलों को रखने के लिए ब्राउज़र को बताने के लिए (सफारी MacOS पर एक उदाहरण है) कम से कम एक दिन, आप का उपयोग कर सकते हैं यह अन्य ब्राउज़र को बताने का अच्छा दुष्प्रभाव है जो दिन में कम से कम एक बार उन्हें ताज़ा करने के लिए पृष्ठों को रीफ्रेश नहीं करता है।

2

"समाप्त हो जाता है: 0" का अर्थ है कि एक कैश हमेशा इस प्रविष्टि को स्टाल के रूप में मानता है (यानी इसे किसी ग्राहक को वापस करने से पहले इसे पुन: सत्यापित करने की आवश्यकता होगी)।

की परिभाषा से HTTP में शीर्ष लेख/को समाप्त 1.1 आरएफसी (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21): 0 "HTTP/1.1 ग्राहकों और कैश चाहिए विशेष रूप से मूल्य सहित अन्य अमान्य दिनांक स्वरूपों का इलाज" ", अतीत में के रूप में (यानी , "पहले ही समाप्त हो चुका है")। "

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