Não usar refresh para redireccionamentos

Se pretender que o endereço http://www.exemplo.com/foo mostre o conteúdo que está em http://www.exemplo.com/bar, não deve usar técnicas de “refresh” como:

<meta http-equiv=refresh content="1; url=http://www.exemplo.org/bar">

Porquê? Simplesmente porque desta forma a acção do botão “Voltar” do browser será anulada. Um utilizador, ao pressionar o botão “Voltar”, vai fazer com que o “refresh” funcione novamente e será novamente redireccionado para a frente. Provavelmente esta situação vai deixar o utilizador aborrecido o que pode causar que este deixe de visitar o site.

Usar redireccionamentos HTTP

Ao ser usada a meta-tag “refresh” para criar um redireccionamento, o que temos é uma instrucção específica dentro do documento web. Neste caso, espera-se que o browser descarregue a página, analise o seu conteúdo, encontre a instrucção “refresh”, espere o tempo necessário (que pode ser de 0 – imediatamente – até X segundos) e que proceda para o novo endereço.

Por outro lado, um redireccionamento HTTP funciona de uma forma mais directa pois é feito a um outro nível. O servidor, quando recebe um pedido de um documento e está configurado para efectuar o redireccionamento desse documento para outro endereço, responde ao browser indicando-lhe que procure o documento na sua nova localização.

O redireccionamento HTTP é também uma forma muito mais correcta para fazer redireccionamentos, já que, para além do novo endereço, fornece mais informação ao browser: fornece informação acerca do propósito e do tipo de redireccionamento, o que permite ao browser agir de forma diferente dependendo do tipo de redireccionamento. Os tipos de redireccionamentos HTTP são os redireccionamentos permanentes (HTTP 301), redireccionamentos temporários (HTTP 307) e os redireccionamentos indefinidos (HTTP 302).

Deixo alguns links úteis onde se mostra como efectuar a configuração de servidores para usar redireccionamentos HTTP:

Tags: ,