303 See Other

Obtenha o resultado em outra URL com GET.

Quando usar

Redirecionamento após o POST de um formulário, para que recarregar a página não o envie de novo.

Bom saber

O 303 é o código correto para Post/Redirect/Get: depois do POST de um formulário, redirecione para uma página de resultado com 303, para que o navegador a carregue com GET, e uma atualização ou o botão Voltar não reenvie o formulário. Diferente do 302, a troca para GET é garantida pela especificação para qualquer método original, incluindo PUT e DELETE, e o corpo da requisição é descartado.

Os mecanismos de busca tratam o 303 como um redirecionamento temporário, mas ele raramente aparece em URLs rastreáveis. Ele não vai para o cache, a menos que os cabeçalhos digam o contrário. Em APIs, o 303 pode levar um cliente de uma tarefa assíncrona concluída até o seu resultado. O fetch o segue automaticamente no modo de redirect padrão; response.redirected indica que houve um redirecionamento, e response.url dá o endereço final depois do GET.

Redirecionamento (3xx)

Os códigos 3xx são redirecionamentos: o cliente precisa ir para outro lugar, ou usar a cópia em cache, para concluir a requisição.

Como fica

HTTP/1.1 303 See Other

Como enviar

Node.js / Expressres.redirect(303, '/new-url')
Python / Flaskreturn redirect('/new-url', code=303)
nginxreturn 303 https://example.com$request_uri;

Como verificar

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Abrir Códigos de status HTTP