क्या ऐसा कोई तरीका है जिससे मैं फ़ायरफ़ॉक्स को कैश को रीडायरेक्ट (301 और 302) कैश नहीं करने के लिए मजबूर कर सकता हूँ?


11

मैं एक वेब डेवलपर हूं, और कई बार मुझे 301 या 302 रीडायरेक्ट बनाने या बदलने होते हैं। फ़ायरफ़ॉक्स में तत्काल बदलाव का परीक्षण करना बोझिल है क्योंकि यह रीडायरेक्ट को कैश करता है, इसलिए यदि मैं रीडायरेक्ट सर्वर-साइड को बदल देता हूं, और फिर हार्ड रिफ्रेश हो जाता है, तो पुराने रीडायरेक्ट को कैश कर दिया जाता है, इसलिए जिस तरह से मैं नया परीक्षण कर सकता हूं वह मेरे कैश के द्वारा है या एक निजी ब्राउज़र सत्र शुरू करना।

यह कहा जा रहा है, यह चारों ओर काम करने के लिए विशेष रूप से मुश्किल नहीं है, लेकिन यह कष्टप्रद है, खासकर जब मैं ऐसा करना भूल जाता हूं, और ऐसा लगता है कि मेरा नया रीडायरेक्ट काम नहीं कर रहा है, जब तक कि मैं कैश को हटाना या एक नया निजी सत्र शुरू करना याद नहीं करता ।

मैं समझता हूं कि सामान्य उपयोग के लिए रीडायरेक्ट कैश करना क्यों फायदेमंद है, लेकिन मैं डिबगिंग उद्देश्यों के लिए व्यवहार को अक्षम करना चाहूंगा।

जवाबों:


8

यदि आपके पास डेवलपर टूलबॉक्स पैनल खुला है (जैसा कि इसके साथ होता है F12) तो आप कैश से परामर्श करना बंद करने का विकल्प सेट कर सकते हैं ।

इस विकल्प को सेट करने के लिए:

  1. किसी भी पेज पर, F12डेवलपर टूलबॉक्स पैनल खोलने के लिए हिट करें।
  2. उस पैनल के शीर्ष दाईं ओर स्थित गियर आइकन पर क्लिक करें।
  3. वहां, "उन्नत सेटिंग्स → कैश अक्षम करें (जब टूलबॉक्स खुला हो)" की जांच करें।

डेवलपर टूलबॉक्स पैनल के बिना कैश रीडायरेक्ट अभी भी विज़िट से कैश किया जाएगा, लेकिन उस कैश से परामर्श नहीं किया जाता है और तब तक अपडेट नहीं किया जाता है जब तक डेवलपर टूलबॉक्स ओपन नहीं होता है। इसलिए आप केवल फ़ायरफ़ॉक्स को अस्थायी रूप से कैश न करने या कैश से रीडायरेक्ट न करने के लिए बाध्य करते हैं, लेकिन यह आपके उपयोग के मामले के लिए पर्याप्त हो सकता है।

फ़ायरफ़ॉक्स 41 में सत्यापित। रयान बेमरोज़ के एक अन्य प्रश्न के उत्तर से अनुकूलित ।


2

मैं पूरी तरह से समझता हूं कि 99% स्थितियों में पुनर्निर्देशन को कैश करना क्यों फायदेमंद है, लेकिन क्या उस व्यवहार को अक्षम करने के लिए वैसे भी है?

ठीक है, यदि आप एक वेब सर्वर डेवलपमेंट के दृष्टिकोण से ऐसा कर रहे हैं, तो आपकी "अंतहीन विकास ट्विकिंग" जरूरतों के लिए ब्राउज़र "कैश ऑन ऑल कॉस्ट" व्यवहार की अपेक्षा करना इस जानवर पर हमला करने का गलत तरीका है। जब आप वेब सर्वर को रीडायरेक्ट कर रहे होते हैं, तो आपको हेडर आउटपुट की जाँच करने और फ़ुल पेज रेंडरिंग आउटपुट पर ध्यान देने की ज़रूरत होती है जो ब्राउज़र प्रदान करते हैं।

इसलिए इसके बजाय, मैं यह सीखने की सलाह दूंगा कि केवल हेडर वापस करने के लिए कमांड लाइन से कैसे उपयोग करें curlऔर -Iविकल्प जो 301 और 302 रीडायरेक्ट को डीबग करने के लिए बहुत उपयोगी है। कमांड लाइन से। जैसा कि आधिकारिक curlमैन पेज में बताया गया है , -Iविकल्प है:

-मैं नेतृत्व करता हूं

(HTTP / FTP / FILE) HTTP-हैडर को ही प्राप्त करें! HTTP- सर्वर कमांड HEAD की सुविधा देता है जिसका उपयोग यह एक दस्तावेज़ के हेडर के अलावा कुछ नहीं करता है। जब एफ़टीपी या फ़ाइल फ़ाइल पर उपयोग किया जाता है, तो कर्ल केवल फ़ाइल आकार और अंतिम संशोधन समय प्रदर्शित करता है।

उदाहरण के लिए, करो curl -I google.comऔर आउटपुट कुछ इस तरह होगा:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:37:42 GMT
Expires: Mon, 11 May 2015 04:37:42 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5

और यदि आप हेडर के माध्यम से पूरी पुनर्निर्देशित श्रृंखला का पालन करना चाहते हैं, तो इस तरह कमांड में -Lविकल्प (उर्फ:) जोड़ें --location:

curl -I -L google.com

और लोकेशन रिडायरेक्ट चेन के बाद उस कमांड का आउटपुट कुछ इस तरह होगा:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: Mon, 11 May 2015 04:48:14 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5

HTTP/1.1 200 OK
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=69d90e4d7a0fcbbb:FF=0:TM=1428727694:LM=1428727694:S=1xqS-toEoa5saQ7n; expires=Mon, 10-Apr-2017 04:48:14 GMT; path=/; domain=.google.com
Set-Cookie: NID=67=pkHjv88MsTB_eB1OqqcMm03kTkFNOSaN4ZEiE5iGViEt7AiJWBc6R-0qJ5s1xu3i5Peg5aHOBHyr7n4-oAxyEE2cL_dBPRLYODst0H-Ztfgrf_6LYXXlix9eghSB8Hzc; expires=Sun, 11-Oct-2015 04:48:14 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5
Transfer-Encoding: chunked
Accept-Ranges: none
Vary: Accept-Encoding

नोट के शीर्षक प्रतिक्रिया HTTP/1.1 301 Moved Permanentlyके साथ ही Location: http://www.google.com/। यदि आपका वेब विकास लक्ष्य अपाचे को फिर से लिखना नियमों और पुनर्निर्देशन जैसी चीजों का परीक्षण करना है, curl -Iतो आपको यह देखने के लिए सबसे अच्छा उपकरण है कि आप क्या कर रहे हैं।

और उन बारीकियों को अंतिम रूप देने और पूरा करने के बाद, फिर एक वास्तविक ब्राउज़र में एक अंतिम रन करें, यह देखने के लिए कि यह सब जीवन में आता है।


2

फ़ायरफ़ॉक्स फ़ायरबग में, Netटैब के नीचे , "अक्षम कैश" नामक एक विकल्प होता है। मैं इसे पुनर्निर्देशित परीक्षण करते समय फ्लिप करता हूं, और मैंने इसे अन्यथा बंद कर दिया है।

यहाँ छवि विवरण दर्ज करें


1

जाओ about:configऔर दोनों को browser.cache.disk.enableऔर browser.cache.memory.enableझूठे को सेट करें । यह "ब्राउज़र कैश अक्षम करने" की जाँच के समान है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.