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

Topic revision: r1 - 03 Jan 2005 - 19:28:10 - MarioTeza


Create personal sidebar

 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki-SL? Send feedback