मैं पूरी तरह से समझता हूं कि 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
तो आपको यह देखने के लिए सबसे अच्छा उपकरण है कि आप क्या कर रहे हैं।
और उन बारीकियों को अंतिम रूप देने और पूरा करने के बाद, फिर एक वास्तविक ब्राउज़र में एक अंतिम रन करें, यह देखने के लिए कि यह सब जीवन में आता है।