title: Does 301 redirect always preserve referrer?
body: <p>I want to know whether 301 redirect always preserve referrer.</p>
  
  <p>I make a page called "gotoorig_https.html" which contains a hyperlink to a page "orig_https.asp".<br>
  "orig_https.asp" will 301 redirect to "dest.html" which shows the document.referrer.</p>
  
  <p>In this case,  </p>
  
  <pre><code>http page(gotoorig_https.html) -&gt; orig_https.asp(301 redirect)-&gt; https page (dest.html) &lt;--the referrer preserves  
  https page(gotoorig_https.html) -&gt; orig_https.asp(301 redirect)-&gt; https page (dest.html) &lt;--the referrer preserves  
  </code></pre>
  
  <p>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.</p>
  
  <p>In this case,  </p>
  
  <pre><code>http page(gotoorig_http.html) -&gt; orig_http.asp(301 redirect)-&gt; http page (dest.html) &lt;--the referrer preserves  
  https page(gotoorig_http.html) -&gt; orig_http.asp(301 redirect)-&gt; http page (dest.html) &lt;--the referrer DOES NOT preserve.
  </code></pre>
  
  <p>Why does the last case happen?</p>