O que são códigos de status HTTP?
Todo servidor web responde a uma requisição com um código de status de três dígitos, que resume o resultado: deu certo, o recurso mudou de lugar, a requisição tem um problema ou o servidor falhou. Quem navega quase só vê o código quando algo dá errado (como o famoso 404), mas ele está em toda resposta, inclusive nas bem-sucedidas (200).
Os códigos servem a pessoas que desenvolvem e a quem administra sites: indicam por onde começar a investigar um problema, orientam navegadores e buscadores (um 301 diz que a página mudou de endereço) e definem o comportamento de APIs. Esta página lista os códigos padronizados (registro IANA e RFCs); não há consulta a sites reais.
Categorias de status: 1xx a 5xx
O primeiro dígito indica a classe da resposta:
- 1xx — Informativos: a requisição foi recebida e o processo continua.
- 2xx — Sucesso: a requisição foi aceita e processada.
- 3xx — Redirecionamento: é preciso uma ação adicional, normalmente seguir para outro endereço.
- 4xx — Erros do cliente: a requisição tem um problema, como endereço inexistente ou falta de permissão.
- 5xx — Erros do servidor: a requisição era válida, mas o servidor falhou ao atendê-la.
Uma regra prática: erros 4xx pedem correção em quem faz a requisição; erros 5xx pedem correção no servidor.
Os códigos mais comuns
- 200 OK: tudo certo; é a resposta típica de uma página ou API que funcionou.
- 301 Moved Permanently: a página mudou de endereço para sempre; buscadores passam a indexar o novo endereço.
- 302 Found: o redirecionamento é temporário; o endereço original continua valendo.
- 400 Bad Request: a requisição está malformada, por exemplo com um JSON inválido.
- 401 Unauthorized: falta autenticação válida (você não se identificou ou o token expirou).
- 403 Forbidden: o servidor sabe o que você quer, mas não deixa: falta permissão.
- 404 Not Found: o endereço não existe ou não existe mais.
- 500 Internal Server Error: falha genérica do servidor, geralmente um bug ou erro de configuração.
- 502 Bad Gateway: o proxy ou balanceador recebeu uma resposta inválida do servidor de origem.
- 503 Service Unavailable: o serviço está temporariamente fora, por manutenção ou sobrecarga.
- 504 Gateway Timeout: o proxy esperou o servidor de origem e o tempo acabou.
Diferenças que mais confundem
301 × 302 (e 307 × 308): o 301 é permanente e o 302 é temporário. Em ambos, alguns clientes trocam POST por GET; para manter o método, use 308 (permanente) ou 307 (temporário).
401 × 403: o 401 diz "não sei quem você é" (autenticação); o 403 diz "sei quem você é, mas você não pode" (autorização). Autenticar de novo resolve o 401, mas não o 403.
502 × 503 × 504: nos três o problema está do lado do servidor. No 502 o intermediário recebeu uma resposta inválida; no 503 o serviço está indisponível de propósito ou por sobrecarga; no 504 o intermediário não recebeu resposta a tempo.
E o 418? O "I'm a teapot" é uma piada de 1º de abril (RFC 2324, protocolo para bules de café) e está reservado no registro IANA; não é um código HTTP oficial, por isso não aparece na lista.
Como usar esta referência
Digite um número (404), parte do nome (not found) ou um tema (redirect, server error) e a lista é filtrada na hora. Pesquisar um código exato abre os detalhes dele; os botões de categoria (1xx a 5xx) restringem a lista. Cada código tem um link direto, como #404. Para analisar o endereço de uma requisição, use o Gerador e Analisador de URL; para trabalhar com redes, veja a Calculadora de Sub-rede IPv4.