Use redirecionamento standard: não "quebre" botão voltar do usuário
Técnicas a usar e técnicas a evitar
Não use "refresh" para redirecionamento
Se você pretende redirecionar um endereço, como por exemplo:
http://www.example.org/foo para
http://www.example.org/bar você não deve usar "refresh" como abaixo mostrado:
META HTTP-EQUIV=REFRESH CONTENT="1; URL=http://www.example.org/bar"
Por que? porque esta técnica poderá retirar a função do botão "back" (voltar) do usuário. Suponha que o usuário (após ter ocorrido o "refresh") pressione o botão "back", ocorrerá o "refresh" novamente e para ele, não haverá a esperada volta à página anterior. O usuário certamente ficaria irritado e fecharia a janela, o que provavelmente não é isto que você e nem o autor desta matéria desejam.
Use redirecionamento via HTTP
Quando usamos "refresh" em uma meta-tag para criar um redirecionamento, estamos escrevendo uma instrução específica no código do documento. O agente de usuário (seja um browser ou o validador de marcação) recebe a página, lê o conteúdo, encontra a instrução "refresh", espera o tempo especificado (que pode ser de "0" segundos para um refresh "imediato" ou mesmo nem conter um valor de tempo), e então receber e processar um novo endereço.
Um "Redirecionamento HTTP" por outro lado é muito mais direto pois é feito em uma outra camada (contexto) . Quando o agente de usuário (um browser ou o validador) solicita o documento a um servidor configurado para redirecionar a página solicitada, este, o servidor, retorna ao agente de usuário as informações de um novo endereço.
Um " Redirecionamento HTTP" é mais apropriado porque o agente de usuário recebe informações adicionais à informação do novo endereço: o servidor informa também o propósito e o tipo de redirecionamento o que possibilita ao agente de usuário um comportamento adequado ao tipo de redirecionamento. Os diferentes tipos de redirecionamento (com o respectivo código do status HTTP enviado pelo servidor) são: Redirecionamento Permanente (HTTP 301), Redirecionamento Temporário (307), e Redirecionamento Indefinido (302).
Consulte os links a seguir para tutoriais e documentos relacionados a redirecionamentos pelo servidor.
Leitura complementar
Sobre redirecionamentos: o The Top Ten New Mistakes of Web Design, por Jakob Nielsen, que mostra o porquê não usar "refresh" para redirecionar documentos a novos endereços assim como outros "sim" e "não" a se fazer em web design.
o A seção 10.3 Redirection 3xx do Hypertext Transfer Protocol -- HTTP/1.1, é normativa para redirecionamentos HTTP.
Como redirecionar a partir do servidor:
o The "Redirect" directive in Apache's manual
o The Apache URL rewriting guide
o Appendix B: API Reference in the Zope Book
o redirection in Microsoft IIS documentation
--
MarioTeza - 03 Jan 2005