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




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

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

मैं जानना चाहता हूं कि 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.

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


आरएफसी रेफरर हेडर परिभाषा में स्थिति 301 परिभाषा में कोई संदर्भकर्ता-विशिष्ट व्यवहार निर्दिष्ट नहीं करता है, न ही 301-विशिष्ट व्यवहार। इस प्रकार, मुझे यह कहना है कि यद्यपि यह रेफरर-संरक्षित व्यवहार तार्किक है, लेकिन इसे आरएफसी में परिभाषित नहीं किया गया है और इस प्रकार आप कभी भी सुनिश्चित नहीं हो सकते हैं।


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

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





http-referer