redirect - क्या 301 रीडायरेक्ट हमेशा रेफरर को संरक्षित करता है?




http-status-code-301 http-referer (2)

HTTP और HTTPS के बीच जाने पर HTTP spec का कहना है कि एक रेफरर हेडर नहीं भेजा जाना चाहिए ( RFC2616 में RFC2616 देखें)। कल्पना यह नहीं कहती कि एचटीटीपीएस पृष्ठों के बीच क्या होना चाहिए।

दिलचस्प बात यह है कि इस मामले में spec को अनदेखा करने के लिए फ़ायरफ़ॉक्स डिफ़ॉल्ट है, लेकिन नेटवर्क.http.sendSecureXSiteReferrer कॉन्फ़िगरेशन सेटिंग सेट करके अनुरूप बनाने के लिए बनाया जा सकता है।

मैं जानना चाहता हूं कि 301 रीडायरेक्ट हमेशा रेफरर को संरक्षित करता है या नहीं।

मैं "gotoorig_https.html" नामक एक पृष्ठ बनाता हूं जिसमें "orig_https.asp" पृष्ठ पर हाइपरलिंक होता है।
"orig_https.asp" 301 "dest.html" पर रीडायरेक्ट करेगा जो document.referrer दिखाता है।

इस मामले में,

http page(gotoorig_https.html) -> orig_https.asp(301 redirect)-> https page (dest.html) <--the referrer preserves  
https page(gotoorig_https.html) -> orig_https.asp(301 redirect)-> https page (dest.html) <--the referrer preserves  

मैं "gotoorig_http.html" नामक एक पृष्ठ भी बनाता हूं जिसमें "orig_http.asp" पृष्ठ पर हाइपरलिंक होता है। "orig_http.asp" 301 "dest.html" पर रीडायरेक्ट करेगा जो document.referrer दिखाता है।

इस मामले में,

http page(gotoorig_http.html) -> orig_http.asp(301 redirect)-> http page (dest.html) <--the referrer preserves  
https page(gotoorig_http.html) -> orig_http.asp(301 redirect)-> http page (dest.html) <--the referrer DOES NOT preserve.

आखिरी मामला क्यों होता है?


Https से अधिक ब्राउज़र रेफरर्स नहीं भेज रहे हैं। यह आरएफसी में है।





http-referer