क्या विशिष्ट वेबसाइटों के लिए क्लाइंट ब्राउज़र कैशिंग बंद करने का एक तरीका है?


10

यह एक ब्राउज़र अज्ञेयवादी प्रश्न है लेकिन हम IE9 के साथ परीक्षण कर रहे हैं।

उन वेब ऐप्स में से एक जिन्हें हमारे उपयोगकर्ता विज़िट करते हैं, उन्हें बेतरतीब ढंग से कैश किया जाता है और जब उन्हें चाहिए तब परिवर्तन दिखाई नहीं देता है। किसी अन्य साइट में यह समस्या नहीं है और हमने उस विक्रेता के साथ काम किया है जो दावा करता है कि यह किसी और के साथ नहीं हो रहा है। अगर हम डेवलपर टूलबार का उपयोग करते हैं और "सर्वर से फोर्स रिफ्रेश" का चयन करते हैं तो सब कुछ ठीक से अपडेट हो जाता है।

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

जवाबों:


10

ब्राउज़र कैशिंग को अक्षम करने का एकमात्र उचित तरीका वेब साइट से HTTP हेडर है। HTTP 1.1 "कैश-कंट्रोल" हेडर को किसी भी वर्ष -२००० ब्राउज़र के लिए पर्याप्त होना चाहिए। लेकिन अतिरिक्त सुरक्षा के लिए सर्वर HTTP 1.1 "कैश-कंट्रोल" और HTTP 1.0 "एक्सपायर्स" हेडर को एक साथ छोड़ सकता है

Hack'ish लेकिन कभी-कभी कैश अमान्यकरण से निपटने का तरीका सर्वर से URL में "कैशबस्टर" स्ट्रिंग होता है। कैशबस्टर अक्सर टाइमस्टैम्प आधारित होता है, और URL को अद्वितीय बनाने के लिए प्रत्येक HTML लिंक के लिए एक querystring के रूप में जोड़ा जाता है और केवल एक बार उपयोग किया जाता है। कुछ इस तरह http://example.org/filename.html?cb=<timestamp+random_value>। यह बदसूरत है, और HTTP हेडर कुछ भी बेहतर नहीं करते हैं। लेकिन इसका उपयोग सीमित दर्शकों के लिए हैक (इंट्रानेट पर fx), या उचित HTTP हेडर के साथ सुरक्षा की एक अतिरिक्त परत के रूप में किया जा सकता है।

AFAIK केवल इंटरनेट एक्सप्लोरर के भीतर से किसी एक साइट के लिए चुनिंदा रूप से अक्षम करने का कोई तरीका नहीं है । एक (खूनी जटिल) समाधान वार्निश कैश को आपके लैन पर एक मध्यस्थ कैश के रूप में स्थापित करने के लिए हो सकता है , वार्निश को HTTP प्रॉक्सी के रूप में उपयोग करने के लिए इंटरनेट एक्सप्लोरर सेट करें, और केवल इस विशिष्ट साइट के लिए HTTP हेडर को फिर से लिखने के लिए वार्निश पर वीसीएल भाषा का उपयोग करें ।

ईमानदारी से, मुझे लगता है कि आपका विक्रेता यहां एक गलती कर रहा है। मैं IE के लिए Fiddler2 , या फ़ायरफ़ॉक्स के लिए Firebug को स्थापित करने का सुझाव दूंगा , और वास्तविक HTTP हेडर को वेबैप भेजता है। सहसंबंध है कि मार्क नॉटिंघम के कैशिंग ट्यूटोरियल के साथ जो मैंने पहले ही ऊपर लिंक किया है - मैं अनुमान लगा रहा हूं कि कैशिंग की अनुमति है, या कम से कम कैशिंग के लिए स्पष्ट रूप से मना न करें।


0

सुनिश्चित करें कि आपने उचित समय सीमा समाप्त कर दिया है। यदि आप अतीत में समय लगाते हैं, तो सामग्री को कैश नहीं किया जाएगा। कार्यस्थान पर समय / दिनांक की जाँच करें जहाँ IS9 चलता है। इसे भी देखें: http://www.mnot.net/cache_docs/


0

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


0

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

IE में, यह इस प्रकार किया जा सकता है:

आप इंटरनेट विकल्पों में IE की सेटिंग्स को दोबारा जांच सकते हैं-> उन्नत-> सुरक्षा-> एन्क्रिप्टेड पृष्ठों को डिस्क पर सहेजने न दें।


उन्होंने एक ब्राउज़र एग्नोस्टिक समाधान के लिए कहा।
Mircea Vutcovici

1
@Mircea यह है एक ब्राउज़र नास्तिक समाधान। मैं सिर्फ IE का उपयोग कर एक गंभीर उदाहरण प्रदान किया है। कई अन्य ब्राउज़रों के पास SSL को कैशिंग करने का विकल्प है, लेकिन सेटिंग्स अलग-अलग जगहों पर हैं।
जेएफजी

0
<meta http-equiv="PRAGMA" content="NO-CACHE">

http://www.zann-marketing.com/developer/20051018/stop-browser-caching-using-meta-tags.html

आप URL बार में यादृच्छिक कुंजियों का उपयोग करने पर विचार कर सकते हैं, यह ब्राउज़र के भीतर कैशिंग को भी रोक देगा।


यह काम करेगा, IF GollyJer में वेबसाइट को संशोधित करने की क्षमता थी। मैं इकट्ठा वह अपने सवाल पर आधारित नहीं है।
जेएफजी

बस सटीक होने के लिए, "यादृच्छिक चाबियाँ" कैशिंग को प्रभावी ढंग से नहीं रोकती हैं। ब्राउज़र और बीच में कैश अभी भी डिस्क पर प्रतिक्रिया स्टोर कर सकता है। लेकिन अगली बार उसी फ़ाइल का अनुरोध करने पर, यादृच्छिक कुंजी URL को अलग कर देगी, और इस प्रकार ऑन-डिस्क कैश्ड संस्करण का उपयोग नहीं किया जाएगा। एक नया प्रतिनिधित्व सर्वर से डाउनलोड किया जाएगा, और संभवतः डिस्क पर कैश किया जाएगा। इसके अतिरिक्त, मेटा PRAGMA टैग पुराना है और इसका उपयोग नहीं किया जाना चाहिए - सिफारिश HTTP एक्सपायर्स और कैश-कंट्रोलर्स का उपयोग करने के लिए है।
जेस्पर एम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.