Redirecionamento 303 (See Other)
O que é um redirecionamento 303 See Other, o padrão Post/Redirect/Get que ele viabiliza, por que ele troca a requisição para GET ou HEAD (ao contrário do 307), como difere do 302 e por que Google e Bing publicam quase nenhuma orientação de SEO específica para 303.
Idiomas
Um 303 See Other é um redirecionamento HTTP temporário que diz ao cliente para buscar uma URL diferente com uma requisição GET ou HEAD, independentemente do método usado na requisição original. Ele é o mecanismo por trás do padrão Post/Redirect/Get (PRG): envie um formulário com POST, receba um 303 para uma página de resultados acessível por GET e, assim, atualizar a página não reenviará o POST original. Ao contrário de um 307 (que sempre preserva o método), um 303 o troca para GET ou HEAD; ao contrário de um 302, seu tratamento do método é inequívoco. Para SEO, ele quase não importa — é um padrão de aplicação web, não uma ferramenta de migração de URLs. O Google o documenta apenas como parte do grupo genérico de 3xx temporários com 302 e 307 e diz que o redirecionamento em si não é um sinal de que o destino deve ser canônico (embora outros sinais ainda possam levar o destino a ser indexado), e nem Google nem Bing publicam orientações específicas para 303. Você normalmente não o verá em redirecionamentos de SEO e, se vir, ele será tratado como um 302/307.
TL;DR — Um 303 See Other é um redirecionamento que envia o navegador para uma página diferente e a busca com uma requisição GET (ou HEAD). Sua principal função é um truque de desenvolvimento web: depois que você envia um formulário, o servidor encaminha você para uma página de resultados, para que atualizar a página busque esses resultados novamente em vez de reenviar o formulário original. Quase nunca é algo que você configuraria de propósito para SEO — é uma questão de formulários e aplicativos, não de uma página que mudou. E aqui está a parte honesta: Google e Bing não publicam orientações especiais de SEO sobre 303, porque há pouco a dizer.
O que é um redirecionamento 303
Quando um navegador pede uma página, o servidor responde com um código de status HTTP de três dígitos. 200 significa “aqui está a página”. 404 significa “não encontrado”. Um 303 significa “See Other” — não renderize diretamente o que foi pedido; em vez disso, busque uma URL diferente com uma requisição GET ou HEAD.
Essa troca para GET ou HEAD é a essência de um 303 e é o que o diferencia dos códigos vizinhos. Mais sobre isso em um instante.
Para que os 303 realmente servem
Imagine enviar um formulário — um pedido, um comentário, um pagamento. O navegador envia isso como uma requisição POST. Se o servidor simplesmente desenhar a página de confirmação na própria resposta POST, você terá um problema: pressione atualizar, e o navegador perguntará “deseja reenviar este formulário?” Recarregue sem pensar e você terá feito o pedido duas vezes.
Um 303 resolve isso. O fluxo é assim:
- Você envia o formulário → o navegador envia um POST.
- O servidor o processa e responde com um 303 apontando para uma página de resultados.
- O navegador segue o 303 com um novo GET para essa página de resultados.
Agora você está em uma página de confirmação normal, que pode ser acessada por GET. Atualize-a ou volte — você só buscará essa página novamente, em vez de reenviar o POST original. Os desenvolvedores chamam isso de padrão Post/Redirect/Get (PRG), e o 303 é o “redirect” no meio. Vale ser preciso sobre o que isso realmente oferece: o PRG impede a repetição causada pela atualização do navegador, mas não é uma garantia de execução única — novas tentativas, cliques duplos, timeouts e requisições simultâneas ainda podem criar pedidos ou cobranças duplicados, a menos que o aplicativo tenha suas próprias proteções (chaves de idempotência, verificações de transação) na gravação.
Por que isso raramente importa para SEO
Um 303 é um comportamento de aplicação web, não uma ferramenta de migração de páginas. Use um 301 quando uma URL muda permanentemente e um 302 quando muda temporariamente — mas quase nunca use um 303 para mover uma página, porque não é para isso que ele foi criado. Como escrevi no Ahrefs: “Você normalmente não verá redirecionamentos 303 usados para fins de SEO, mas, se vir, ele será tratado como um 302/307.”
E essa é a realidade honesta de todo o assunto: Google e Bing não publicam orientações de SEO específicas para 303. O Google o menciona uma única vez, agrupado no grupo de redirecionamentos “temporários” com 302 e 307 — o redirecionamento em si não é um sinal de que o destino deve se tornar canônico como ocorre com o redirecionamento permanente 301, embora outros sinais ainda possam levar a página de destino a ser indexada. Não há um comportamento secreto de 303 a aprender. Se uma ferramenta de rastreamento sinalizar um 303 no seu site, quase sempre é um padrão deliberado do aplicativo (um fluxo de formulário), não algo quebrado nem algo para “corrigir”. Evidence for this claim Google groups HTTP 303 with temporary redirects, follows it, and does not use it as a signal that the destination should become canonical. Scope: Google Search canonicalization behavior for server-side temporary redirects. Confidence: high · Verified: Google: Redirects and Google Search
Não confunda isso com uma página quebrada ou movida
Você verá alguns sites descreverem um 303 como o que acontece quando “a página mudou” ou “o navegador não consegue encontrar a URL”. Isso é confundi-lo com um 301/302 ou com um erro. Um 303 não indica que algo deu errado — é uma resposta deliberada que o aplicativo retorna de propósito, normalmente logo depois que um formulário é processado.
Quer a comparação técnica com 302 e 307, o que a documentação do Google realmente diz (e a frase direta de John Mueller sobre o assunto) e a visão do desenvolvedor sobre quando retornar um desses códigos? Mude para a aba Avançado.
TL;DR — Um 303 (HTTP “303 See Other”) é um redirecionamento temporário cuja característica definidora é direcionar o cliente a recuperar outro recurso com GET ou HEAD, independentemente do método usado pela requisição original. É isso que viabiliza o padrão Post/Redirect/Get (PRG):
POST→303→ página de resultadosGET, para que uma atualização busque a página novamente em vez de reenviar o formulário. Ele difere do 307 (que sempre preserva o método) e do 302 (cujo tratamento do método foi historicamente ambíguo). É genuinamente raro como redirecionamento de SEO de uma página para outra — é um mecanismo de aplicação web, não uma ferramenta de migração de URLs. O Google documenta o 303 apenas como membro do grupo genérico de 3xx “temporários” com 302 e 307 — um sinal fraco de canonicalização — e não publica orientações específicas para 303; também não encontrei nenhuma do Bing. Não invente uma autoridade que não existe: diga claramente que há pouco a dizer.
O que um 303 realmente é
Um 303 é um código de status HTTP retornado nos cabeçalhos da resposta, antes de qualquer corpo, com um cabeçalho Location apontando para a URL que o cliente deve buscar em seguida. A semântica é restrita e específica: a resposta à sua requisição está em outro lugar, e você deve recuperá-la com GET ou HEAD. Evidence for this claim RFC 9110 defines 303 See Other as directing the client to retrieve another resource identified by Location using GET or HEAD. Scope: HTTP semantics for 303 responses. Confidence: high · Verified: IETF: RFC 9110 §15.4.4 — 303 See Other
Esse comportamento de recuperação por GET ou HEAD é a razão inteira de o 303 existir como um código distinto e é o eixo em que os três redirecionamentos temporários se diferenciam.
303 vs. 302 vs. 307: a questão do método
Do ponto de vista de SEO, os três são “temporários” — o Google os agrupa como sinais fracos. Tecnicamente, porém, eles respondem de forma diferente a uma pergunta: quando o cliente segue o redirecionamento, qual método HTTP ele usa?
| Código | Significado | Método na requisição redirecionada |
|---|---|---|
| 302 Found | Temporário | Historicamente ambíguo — muitos clientes trocavam POST por GET, mas a especificação não garantia isso, então o comportamento variava |
| 303 See Other | See Other (temporário) | GET ou HEAD — o método original é alterado deliberadamente |
| 307 Temporary Redirect | Temporário | Sempre preservado — um POST continua POST, um PUT continua PUT |
303 e 307 foram introduzidos em parte para desambiguar a confusão em torno do 302. Se quiser forçar o método para GET após o envio de um formulário, use 303. Se precisar que o método original seja mantido (por exemplo, reenviar um POST para um novo endpoint), use 307. O 302 é o meio-termo histórico flexível que não fixa nenhum dos dois comportamentos.
Outra diferença prática: respostas 303 não podem ser armazenadas em cache por padrão, enquanto um 301 pode. Isso importa se você teme que um navegador ou CDN armazene o destino do redirecionamento de forma inadequada — com um 303, você não tem essa preocupação.
O padrão Post/Redirect/Get, com precisão
PRG é o uso canônico de um 303 e é um padrão de projeto deliberado e correto — não um estado de erro:
- O cliente envia um formulário como POST (cria um pedido, publica um comentário, executa um pagamento).
- O servidor processa o efeito colateral e retorna
303 See Othercom um cabeçalhoLocationapontando para uma URL de resultados acessível por GET (um recibo, uma confirmação ou uma visualização atualizada do recurso). - O cliente segue com um GET (ou HEAD) para essa URL. O histórico do navegador e o botão de atualização agora apontam para uma recuperação segura e idempotente — recarregar ou voltar busca novamente a página de resultados em vez de repetir o POST.
O benefício é que uma simples atualização do navegador deixa de reenviar o formulário — não há mais a caixa de diálogo de “confirmar reenvio do formulário”. Seja preciso sobre o que isso é e não é: PRG impede esse caminho específico de repetição, não toda gravação duplicada. Ele não garante processamento exatamente uma vez. Novas tentativas, timeouts, cliques duplos e requisições simultâneas ainda podem disparar o POST original duas vezes, portanto tudo que altera estado — pedidos, pagamentos, comentários — ainda precisa de controles no nível do aplicativo (chaves de idempotência, limites de transação, detecção de requisições duplicadas) se a duplicação for um risco real. Em APIs RESTful, você também verá 303 depois de um PUT ou DELETE para enviar o cliente a uma representação do recurso afetado.
Como o Google trata o 303 (e por que há tão pouco a tratar)
Esta é a descoberta central e honesta sobre o assunto: o Google não tem orientações de SEO específicas para 303. Ele aparece na documentação de redirecionamentos do Google apenas como uma linha da tabela de redirecionamentos “temporários”, ao lado de 302 e 307. O enquadramento do próprio Google para todo o grupo é preciso: o rastreador segue o redirecionamento, mas o pipeline de indexação não usa o redirecionamento em si como sinal de que o destino deve ser canônico — embora outros sinais ainda possam levar o Google a indexar o destino. Isso é diferente — e mais limitado — da canonicalização forte fornecida por um 301 permanente. Evidence for this claim Google groups HTTP 303 with temporary redirects, follows it, and does not use it as a signal that the destination should become canonical. Scope: Google Search canonicalization behavior for server-side temporary redirects. Confidence: high · Verified: Google: Redirects and Google Search
O texto informal do próprio John Mueller sobre tipos de redirecionamento é ainda mais revelador. Depois de explicar 301, 302 e 307 em detalhes, ele dispensa o 303 em uma única observação: “E quanto a 303? 304,5? Se você tem sentimentos fortes sobre um dos outros tipos de redirecionamento, sinta-se à vontade para usá-los.” A conclusão prática que ele acrescenta é a parte útil: “Teremos que descobrir em qual URL indexar o conteúdo; portanto, se você também tem sentimentos fortes sobre isso, não deixe de acompanhar com outros sinais de canonicalização.” Em outras palavras — se você usar um 303 de alguma forma e se importar com qual URL será indexada, não dependa do tipo de redirecionamento; reforce-o com rel="canonical", links internos e sitemaps.
A documentação do Google também acrescenta uma observação que vale internalizar para todos esses códigos: embora ele os trate da mesma forma, pede que você “keep in mind that they’re semantically different. Use the status code that’s appropriate for the redirect.” (tradução) «tenha em mente que eles são semanticamente diferentes. Use o código de status apropriado para o redirecionamento.» Portanto, a realidade de que “SEO não se importa” não é licença para colocar um 303 em uma mudança permanente — use o código que corresponde à sua intenção para que outros clientes também se comportem corretamente.
Como o Bing trata o 303
Claramente: não encontrei nenhuma orientação pública específica do Bing sobre o tratamento de 303 além de referências genéricas a códigos de status HTTP na ajuda do Bing Webmaster Tools. Não há uma declaração verificada de Fabrice Canel ou de qualquer outra pessoa da Microsoft destacando o 303. Este é um dado legítimo de “não temos documentação sobre isso”, não uma lacuna para encobrir — e não vou preenchê-la presumindo que o Bing simplesmente espelha o comportamento declarado pelo Google. A ausência de documentação não é evidência de que o tratamento seja idêntico; se você precisa de uma resposta definitiva especificamente para o Bing, isso continua sendo uma questão em aberto, não algo estabelecido.
O 303 importa para SEO? Raramente.
Aqui está minha conclusão honesta, que corresponde ao que escrevi publicamente. Um 303 não é uma ferramenta de migração de páginas. Em 11 tipos de redirecionamentos e seu impacto em SEO, coloquei assim: “Um redirecionamento 303 encaminha o usuário para um recurso semelhante ao solicitado e é uma forma temporária de redirecionamento. Ele costuma ser usado para evitar o reenvio de formulários quando o usuário clica no botão “voltar” do navegador. Você normalmente não verá redirecionamentos 303 usados para fins de SEO, mas, se vir, ele será tratado como um 302/307.”
Vou apontar uma tensão honesta no meu próprio arquivo histórico. Em Códigos de status HTTP e seu impacto em SEO, descrevi o tratamento de 303 como “indefinido… Eles podem ser tratados como 301 ou 302, dependendo de como funcionam.” Hoje eu formularia isso com mais precisão: a documentação do Google afirma com segurança que o 303 pertence ao grupo temporário/fraco com 302 e 307. A razão de “indefinido” ter parecido verdadeiro na prática é que 303 é tão raro na natureza que o Google nunca teve motivo para esclarecer publicamente os casos extremos — não porque exista um comportamento oculto e mais forte. Comece pelo padrão documentado (fraco/temporário, agrupado com 302/307); trate qualquer surpresa como consequência da raridade, não como uma regra secreta.
Quando ele poderia importar? Realmente apenas em sites com fluxos intensos de formulários/checkout ou aplicativos orientados por API em que 303 aparece em um rastreamento de códigos de status. Mesmo assim, a resposta geralmente é “está funcionando como planejado, deixe como está”. Se você está movendo uma URL deliberadamente, não use 303 — use 301 (permanente) ou 302 (temporário), e use 308/307 se precisar especificamente preservar o método.
303 vs. 201, 202 e 204: escolhendo o status certo para uma gravação
303 não é a única opção após uma requisição que altera estado, e é fácil escolhê-lo por hábito. Em uma API (em vez de um fluxo de formulário no navegador), três códigos 2xx costumam se encaixar melhor:
- 201 Created — a requisição criou um ou mais recursos de forma síncrona, e a resposta deve identificar o principal, em
Locationse fornecido; caso contrário, na própria URI de destino. Use-o quando a criação terminou e você quer que o cliente receba o novo recurso diretamente, sem uma ida separada por GET. - 202 Accepted — a requisição foi aceita, mas o processamento ainda não terminou (trabalho enfileirado, tarefas assíncronas). A resposta é deliberadamente não comprometedora: descreva o status atual e, idealmente, aponte o cliente para um monitor de status que ele possa consultar.
- 204 No Content — a ação foi concluída e não há mais nada a enviar: nenhum corpo, nenhum redirecionamento necessário. A resposta termina na seção de cabeçalhos.
303 tem uma forma diferente das três opções: serve quando o cliente deve recuperar um recurso de resultado identificado separadamente depois da gravação — na maioria das vezes, o padrão PRG em um navegador. Ele não substitui a criação síncrona (201), a aceitação assíncrona (202) nem um sucesso simples sem conteúdo (204); cada um comunica um resultado distinto que um redirecionamento não comunica.
Mitos comuns
- “Um 303 significa que a página mudou ou está quebrada.” Não. É uma resposta deliberada que altera o método — geralmente após POST/PUT/DELETE — e não um sinal de “conteúdo realocado” ou de erro. Sites que o descrevem como “o navegador não consegue encontrar a URL porque a página mudou” estão confundindo-o com um 301/302 ou um 404.
- “Um 303 passa valor de SEO como um 301.” Não passa. Ele é temporário/fraco, no mesmo grupo que 302 e 307 segundo a documentação do Google.
- “Profissionais de SEO devem usar 303 como redirecionamento geral.” Ele não foi criado para isso. É um padrão restrito para formulários/APIs; usá-lo em migrações comuns de URL é atípico.
- “O Google tem regras detalhadas específicas para 303.” Não tem. Há uma menção agrupada e o encolher de ombros de Mueller, “sinta-se à vontade para usá-los”. Esse é o registro completo.
- “303 e 302 possuem semelhança técnica.” Eles são equivalentes no tratamento de busca, mas não tecnicamente iguais: um 303 muda a requisição seguinte para GET ou HEAD, enquanto o tratamento do método no 302 foi historicamente inconsistente — exatamente por isso 303 e 307 foram introduzidos para desambiguá-lo.
Onde isso se encaixa
Um 303 é um código no grupo de redirecionamentos temporários. Seus parentes mais próximos são o 302 (o redirecionamento temporário flexível com o qual ele costuma ser agrupado) e o 307 (seu oposto, que preserva o método — 307 mantém o método, 303 troca para GET ou HEAD). Ele se diferencia do 301, o redirecionamento permanente que realmente consolida sinais de ranking e faz o trabalho de migração de URLs para o qual um 303 nunca foi criado. Para a família completa — 301/308 permanentes, 302/303/307 temporários, 404/410 ausentes, erros 5xx — consulte o cluster de códigos de status HTTP em que esta página vive.
Validando um fluxo 303 com segurança
Antes de confiar em um 303 em produção, verifique-o sem seguir automaticamente às cegas: inspecione o próprio valor de Location (é absoluto, relativo e resolvível?), procure loops ou cadeias desnecessárias de redirecionamento, confirme que a requisição seguinte usa GET ou HEAD e confira o status e o conteúdo da resposta final. Em um fluxo de formulário ou API, verifique também os logs do aplicativo para confirmar que a gravação original não foi repetida.
Um alerta: não transforme o comportamento de um único cliente em uma regra universal. O comportamento de seguimento automático de navegadores, clientes HTTP e frameworks varia conforme o produto, a versão e a configuração — um relatório sobre um cliente/versão específico não é evidência para todos. Um verificador no nível da URL pode confirmar o redirecionamento e o formato do destino; não pode validar idempotência, tratamento de credenciais ou segurança entre origens — isso ainda exige testar o fluxo de envio real.
Resumo de IA
Uma versão condensada do conteúdo Avançado:
- 303 = HTTP “303 See Other” — um redirecionamento temporário cuja característica definidora é direcionar o cliente a recuperar outro recurso com GET ou HEAD, qualquer que tenha sido o método da requisição original.
- Ele existe para o padrão Post/Redirect/Get (PRG):
POST(envio do formulário) →303→ página de resultadosGET/HEAD. Atualizar ou voltar faz a página de resultados ser buscada novamente em vez de reenviar o POST original. Isso interrompe especificamente a repetição causada pela atualização — não é uma garantia de execução única; novas tentativas, timeouts, cliques duplos e requisições simultâneas ainda podem duplicar uma gravação, a menos que o próprio aplicativo tenha controles (chaves de idempotência, verificações de transação). - O método é o eixo da diferença: 303 troca para GET/HEAD; 307 sempre preserva o método; 302 foi historicamente ambíguo. 303 e 307 foram introduzidos para desambiguar 302.
- Não é armazenável em cache heurístico apenas pelo status (ao contrário de um 301) — o recurso de resultado recuperado separadamente tem sua própria política de cache.
- Não substitui 201/202/204: 303 se encaixa quando o cliente deve recuperar um recurso de resultado separado; ele não substitui criação síncrona (201), aceitação assíncrona (202) ou sucesso sem conteúdo (204).
- Realidade de SEO — diga claramente: o Google documenta 303 apenas como uma linha do grupo de redirecionamentos “temporários” com 302 e 307. O redirecionamento em si não é um sinal de que o destino deve ser canônico, embora outros sinais ainda possam levar o destino a ser indexado — isso é mais restrito que a canonicalização de um 301 permanente. Não há orientação específica do Google para 303, e nenhuma foi encontrada no Bing (a ausência de documentação do Bing não prova que ele o trata como o Google). O texto do próprio John Mueller o dispensa: “E quanto a 303? … sinta-se à vontade para usá-los”, acrescentando que, se você se importa com qual URL é indexada, deve reforçá-la com outros sinais de canonicalização.
- Raramente relevante para SEO: é um padrão de aplicação web, não uma ferramenta de migração de URLs. A orientação do próprio Patrick no Ahrefs: “Você normalmente não verá redirecionamentos 303 usados para fins de SEO, mas, se vir, ele será tratado como um 302/307.”
- Não o confunda com uma página quebrada/movida — um 303 é deliberado, não um erro. Para mover uma URL de fato, use 301 (permanente) ou 302 (temporário), não 303.
Documentação oficial
Há muito pouca documentação de SEO de fonte primária especificamente sobre 303 — ele é mencionado apenas de passagem, agrupado com outros redirecionamentos temporários. Estas são as referências relevantes.
- Redirecionamentos e a Pesquisa Google — lista
HTTP 303 (see other)no grupo de redirecionamentos “temporários”, ao lado de 302 e 307; não há observações específicas sobre o tratamento de 303. - Como códigos de status HTTP, rede e erros de DNS afetam a Pesquisa Google — enumera
303 (see other)na seção 3xx e afirma a regra geral de que o Google trata esses códigos temporários como um sinal fraco, lembrando que eles são “semanticamente diferentes”.
Bing / Microsoft
- Nenhuma orientação específica para 303 foi localizada. A ajuda do Bing Webmaster Tools aborda códigos de status HTTP de modo genérico, sem destacar o 303.
Referência técnica (não uma fonte de SEO)
- MDN — 303 See Other — uma referência rápida e útil para os casos de uso de PUT/POST/DELETE e PRG, embora a formulação “sempre GET” seja mais ampla que a especificação atual (veja abaixo).
- RFC 9110 — Semântica HTTP, §15.4.4 — a definição técnica dominante: o destino de Location não é equivalente ao destino original, e o agente de usuário o recupera com GET ou HEAD, não sempre GET.
Citações da fonte
Declarações registradas relevantes para 303. Há apenas algumas — essa escassez é a história deste assunto, portanto estas são sua extensão honesta, e não uma lista artificialmente preenchida. Cada link aponta diretamente para a passagem citada.
Google / John Mueller — o registro (muito breve) sobre 303
- “What about 303? 304.5? If you have strong feelings about one of the other kinds of redirects, feel free to use them. We’ll have to figure out which URL to index the content under, so if you have strong feelings about that too, make sure to follow up with other canonicalization signals.” (tradução) «E quanto a 303? 304,5? Se você tem sentimentos fortes sobre um dos outros tipos de redirecionamento, sinta-se à vontade para usá-los. Teremos que descobrir em qual URL indexar o conteúdo; portanto, se você também tem sentimentos fortes sobre isso, não deixe de acompanhar com outros sinais de canonicalização.» — John Mueller, blog pessoal, A search-engine guide to 301, 302, 307…. Esta é a declaração mais direta de qualquer pessoa do Google sobre 303 e é um encolher de ombros deliberado. Ir para a citação
Google — o tratamento de “grupo temporário” herdado pelo 303
- “By default, Google’s crawlers follow the redirect… Google systems use the redirect as a weak signal that the redirect target should be processed.” (tradução) «Por padrão, os rastreadores do Google seguem o redirecionamento… Os sistemas do Google usam o redirecionamento como um sinal fraco de que o destino do redirecionamento deve ser processado.» (tratamento declarado pelo Google para redirecionamentos temporários, grupo ao qual o 303 pertence.) — Central da Pesquisa Google, Como códigos de status HTTP… afetam a Pesquisa Google. Ir para a citação
- “While Google treats these status codes the same way, keep in mind that they’re semantically different. Use the status code that’s appropriate for the redirect…” (tradução) «Embora o Google trate esses códigos de status da mesma forma, tenha em mente que eles são semanticamente diferentes. Use o código de status apropriado para o redirecionamento…» Ir para a citação
MDN — uma formulação comum que merece correção
- “The method used to display this redirected page is always GET.” (tradução) «O método usado para exibir esta página redirecionada é sempre GET.» — MDN, 303 See Other. Ir para a citação — Vale sinalizar isso em vez de repetir sem crítica: a especificação atual é mais permissiva que “sempre GET”. A RFC 9110 §15.4.4 define a recuperação seguinte como GET ou HEAD, e o destino de Location como um recurso diferente e não equivalente — esse é o fato técnico que realmente diferencia 303 de 307 (preserva o método) e 302 (historicamente ambíguo).
Patrick (Ahrefs) — a conclusão prática de SEO
- “A 303 redirect forwards the user to a resource similar to the one requested and is a temporary form of redirect. It’s typically used for things like preventing form resubmissions when a user hits the ‘back’ button in their browser. You won’t typically see 303 redirects used for SEO purposes, but if you do then it will be treated just like a 302/307.” (tradução) «Um redirecionamento 303 encaminha o usuário para um recurso semelhante ao solicitado e é uma forma temporária de redirecionamento. Ele costuma ser usado para evitar o reenvio de formulários quando o usuário clica no botão ‘voltar’ do navegador. Você normalmente não verá redirecionamentos 303 usados para fins de SEO, mas, se vir, ele será tratado como um 302/307.» — Patrick Stox, 11 tipos de redirecionamentos e seu impacto em SEO (Ahrefs). Ir para a citação
Uso indevido de 303 See Other
Tratar 303 como um código genérico de “página movida”
Um 303 foi criado para enviar o cliente a outro recurso com GET ou HEAD, normalmente após uma requisição que altera estado. Use 301 para uma mudança permanente de página e 302 para um redirecionamento temporário normal.
Usar 303 quando o método original precisa ser preservado
O código descarta deliberadamente o método original para a requisição seguinte. Se um POST, PUT, DELETE, webhook ou payload de API precisa chegar intacto ao destino, use 307 (temporário) ou 308 (permanente).
Descrever 303 como um sinal forte de SEO permanente
O Google agrupa 303 com redirecionamentos temporários, não com 301/308. Não o use para consolidar uma migração de URL nem alegue que ele se comporta como uma mudança permanente.
Presumir que Google ou Bing publicam regras detalhadas para 303
O Google fornece apenas o tratamento agrupado dos redirecionamentos temporários, e nenhum guia público dedicado do Bing foi identificado neste artigo. Mantenha as conclusões restritas em vez de preencher a lacuna documental com certeza.
Dizer que 302 e 303 possuem semântica técnica idêntica
O tratamento na busca pode ser agrupado, mas a semântica dos métodos não é igual. Um 303 prossegue com GET ou HEAD; o 302 historicamente permitiu um comportamento ambíguo de POST para GET.
Afirmar comportamento universal de cliente, credenciais ou entre origens
Não declare como fato como “navegadores” ou “clientes” tratam corpos de requisição, cabeçalhos, cookies ou credenciais em um 303 sem nomear o cliente, a versão e a configuração específicos. O comportamento de seguimento automático e encaminhamento de credenciais varia; uma única discussão ou anedota não é evidência para todos os clientes e não substitui sua própria revisão de segurança do fluxo real.
Post/Redirect/Get em HTTP bruto
Este fluxo simplificado mostra a função restrita que um 303 executa bem.
1. O navegador envia um formulário
POST /orders HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
item=book&quantity=12. O servidor o processa e aponta para o resultado
HTTP/1.1 303 See Other
Location: /orders/confirmationO 303 não repete o POST na nova URL. Ele diz explicitamente ao cliente para buscar o outro recurso com GET (ou HEAD) — um navegador que segue o link faz isso com GET.
3. O navegador recupera uma página de resultados segura
GET /orders/confirmation HTTP/1.1
Host: example.comHTTP/1.1 200 OK
Content-Type: text/html
<h1>Order received</h1>Atualizar agora repete o GET, não o POST que cria o pedido. Em contraste, um 307 preservaria o POST e seu corpo — útil para mover uma requisição de API, mas errado para este resultado PRG.
Teste seu conhecimento: 303 See Other
Cinco perguntas rápidas sobre o redirecionamento 303. Escolha uma resposta para cada uma e depois confira.
Registro de alterações
Atualizado em 6 de ago. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.
Atualizado em 6 de ago. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.
Atualizado em 5 de ago. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.
Atualizado em 17 de jul. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.
Try it live
This is a real endpoint on this site — not a simulation.
Hit it from the button, open it in a new tab, or
curl -i it from your terminal, and the server answers with the actual status code this article is about.