Does 301 redirect always preserve referrer?
http-referer, http-status-code-301, redirect
Solution
RFC doesn't specify any referrer-specific behavior in status 301 definition, nor 301-specific behavior in `Referer` header definition. Thus, I have to say that although this referrer-preserving behavior is logical, it is not defined in RFC and thus you can never be sure.
Problem
I want to know whether 301 redirect always preserve referrer. I make a page called "gotoorig_https.html" which contains a hyperlink to a page "orig_https.asp". "orig_https.asp" will 301 redirect to "dest.html" which shows the document.referrer. In this case, ``` 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 ``` I also make a page called "gotoorig_http.html" which contains a hyperlink to a page "orig_http.asp". "orig_http.asp" will 301 redirect to "dest.html" which shows the document.referrer. In this case, ``` 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. ``` Why does the last case happen?