2009-09-09 23 views
22

Desidero sapere se il reindirizzamento 301 conserva sempre il referrer.Il reindirizzamento 301 conserva sempre il referrer?

Faccio una pagina denominata "gotoorig_https.html" che contiene un collegamento ipertestuale a una pagina "orig_https.asp".
"orig_https.asp" reindirizzerà 301 a "dest.html" che mostra document.referrer.

In questo caso,

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 

Ho anche fare una pagina chiamata "gotoorig_http.html", che contiene un collegamento ipertestuale a una pagina "orig_http.asp". "orig_http.asp" reindirizzerà 301 a "dest.html" che mostra document.referrer.

In questo caso,

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. 

Perché l'ultimo caso accada?

risposta

26

RFC non specifica alcun comportamento specifico del referrer nella definizione dello stato 301, né comportamento 301 specifico nella definizione dell'intestazione Referer. Quindi, devo dire che sebbene questo comportamento di conservazione dei referrer sia logico, non è definito in RFC e quindi non si può mai essere sicuri.

+0

+1 per non fare affidamento su detto comportamento. Anche i referenti possono essere falsificati! – sybreon

-2

Oltre https i browser non inviano REFERER. Questo è nella RFC.

+4

Non vero. Tra le pagine HTTPS non c'è nulla nelle specifiche sulle intestazioni dei referer, ma le specifiche dicono che non dovrebbero essere inviate quando si passa da HTTP a HTTPS – blowdart

11

Quando si passa da HTTP a HTTPS, le specifiche HTTP indicano che NON deve essere inviata un'intestazione di riferimento (vedere 15.1.3 in RFC2616). Le specifiche non dicono cosa dovrebbe accadere tra le pagine HTTPS.

È interessante notare che in questo caso i valori predefiniti di firefox ignorano le specifiche, ma è possibile configurarli impostando l'impostazione di configurazione network.http.sendSecureXSiteReferrer.

Problemi correlati