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