Pergunta

Quero saber se o redirecionamento 301 sempre preserva o referenciador.

Eu faço uma página chamada "Gotoorig_Https.html", que contém um hiperlink para uma página "orig_https.asp".
"Orig_https.asp" será redirecionado para "dest.html", que mostra o documento.Referrer.

Nesse 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  

Também faço uma página chamada "Gotoorig_Http.html", que contém um hiperlink para uma página "orig_http.asp". "Orig_http.asp" será redirecionado para "dest.html", que mostra o documento.Referrer.

Nesse 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.

Por que o último caso acontece?

Foi útil?

Solução

RFC não especifica nenhum comportamento específico do referente na definição de status 301, nem um comportamento específico de 301 Referer definição de cabeçalho. Assim, devo dizer que, embora esse comportamento de preservação de referências seja lógico, ele não é definido na RFC e, portanto, você nunca pode ter certeza.

Outras dicas

Ao passar entre http e https, a especificação HTTP diz que um cabeçalho do referente não deve ser enviado (ver 15.1.3 em RFC2616). As especificações não dizem o que deve acontecer entre as páginas HTTPS.

Curiosamente, o Firefox é o padrão de ignorar as especificações neste caso, mas pode ser feito para conformar a configuração do Network.http.sendSecurexSiteRefererRer.

Sobre o HTTPS, os navegadores não estão enviando referentes. Isso está no RFC.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top