Referência de códigos de status HTTP
Lista pesquisável de todos os códigos de status HTTP do registro da IANA (100–511), com a frase de motivo, o RFC que o define e uma explicação simples de quando é usado.
- 100ContinueRFC 9110
O servidor recebeu os cabeçalhos; o cliente pode continuar enviando o corpo (resposta a Expect: 100-continue).
- 101Switching ProtocolsRFC 9110
O servidor aceita trocar de protocolo conforme o cabeçalho Upgrade, por exemplo para WebSocket.
- 102ProcessingRFC 2518
WebDAV: o servidor ainda está processando uma requisição longa; ainda não há resposta.
- 103Early HintsRFC 8297
Enviado antes da resposta final para o navegador começar a pré-carregar os recursos dos cabeçalhos Link.
- 104Upload Resumption Supporteddraft-ietf-httpbis-resumable-uploadregistro temporário
Rascunho de uploads retomáveis: o servidor permite retomar uploads interrompidos.
- 200OKRFC 9110
A requisição deu certo. O corpo traz o recurso pedido ou o resultado da ação.
- 201CreatedRFC 9110
Um novo recurso foi criado; a URL dele geralmente vem no cabeçalho Location.
- 202AcceptedRFC 9110
A requisição foi aceita para processamento, que ainda não terminou (tarefas assíncronas).
- 203Non-Authoritative InformationRFC 9110
Sucesso, mas o conteúdo foi modificado por um proxy que transforma respostas.
- 204No ContentRFC 9110
Sucesso sem corpo de resposta, comum em DELETE ou ao salvar dados.
- 205Reset ContentRFC 9110
Sucesso; o cliente deve limpar o formulário ou a tela que enviou a requisição.
- 206Partial ContentRFC 9110
Só parte do recurso é retornada, conforme o cabeçalho Range (downloads retomáveis, avançar vídeo).
- 207Multi-StatusRFC 4918
WebDAV: o corpo traz códigos de status separados para vários recursos.
- 208Already ReportedRFC 5842
WebDAV: os membros de um binding já foram listados antes nesta resposta.
- 226IM UsedRFC 3229
Codificação delta: a resposta é o resultado de manipulações aplicadas ao recurso.
- 300Multiple ChoicesRFC 9110
Há várias representações disponíveis e o cliente pode escolher uma.
- 301Moved PermanentlyRFC 9110
O recurso mudou permanentemente para a URL do Location; buscadores transferem o ranqueamento. Clientes podem trocar POST por GET.
- 302FoundRFC 9110
O recurso está temporariamente em outra URL; continue usando a original. Clientes podem trocar POST por GET.
- 303See OtherRFC 9110
Acesse outra URL com GET, normalmente após enviar um formulário (padrão Post/Redirect/Get).
- 304Not ModifiedRFC 9110
A cópia em cache continua válida (requisição condicional com If-None-Match / If-Modified-Since); nenhum corpo é enviado.
- 305Use ProxyRFC 9110obsoleto
Obsoleto: o recurso precisava ser acessado por um proxy. Não é usado por razões de segurança.
- 306(Unused)RFC 9110reservado, sem uso
Reservado; foi usado num rascunho antigo e não é mais utilizado.
- 307Temporary RedirectRFC 9110
Redirecionamento temporário que mantém o método e o corpo (um POST continua POST).
- 308Permanent RedirectRFC 9110
Redirecionamento permanente que mantém o método e o corpo (um POST continua POST).
- 400Bad RequestRFC 9110
O servidor não consegue processar a requisição por estar malformada (sintaxe, parâmetros ou JSON inválidos).
- 401UnauthorizedRFC 9110
É preciso autenticar ou a autenticação falhou; a resposta inclui o cabeçalho WWW-Authenticate.
- 402Payment RequiredRFC 9110
Reservado para uso futuro; algumas APIs usam para problemas de pagamento ou cota.
- 403ForbiddenRFC 9110
O servidor entendeu a requisição, mas recusa; fazer login de novo não resolve.
- 404Not FoundRFC 9110
Não existe recurso nesta URL (ou o servidor não quer revelar).
- 405Method Not AllowedRFC 9110
O método HTTP não é aceito para este recurso; o cabeçalho Allow lista os métodos válidos.
- 406Not AcceptableRFC 9110
Nenhuma representação corresponde aos cabeçalhos Accept do cliente.
- 407Proxy Authentication RequiredRFC 9110
Igual ao 401, mas é preciso autenticar no proxy.
- 408Request TimeoutRFC 9110
O cliente demorou demais para enviar a requisição e o servidor fechou a conexão.
- 409ConflictRFC 9110
A requisição conflita com o estado atual do recurso (ex.: conflito de edição, duplicidade).
- 410GoneRFC 9110
O recurso foi removido de vez e não voltará; mais forte que o 404.
- 411Length RequiredRFC 9110
O servidor exige o cabeçalho Content-Length.
- 412Precondition FailedRFC 9110
Uma pré-condição como If-Match ou If-Unmodified-Since não foi atendida (bloqueio otimista).
- 413Content Too LargeRFC 9110
O corpo da requisição é maior do que o servidor aceita (limite de upload).
- 414URI Too LongRFC 9110
A URL é maior do que o servidor consegue processar.
- 415Unsupported Media TypeRFC 9110
O tipo de mídia do corpo (Content-Type) não é suportado.
- 416Range Not SatisfiableRFC 9110
O Range pedido não pode ser atendido, por exemplo começa depois do fim do arquivo.
- 417Expectation FailedRFC 9110
A expectativa do cabeçalho Expect não pode ser atendida.
- 418(Unused)RFC 9110reservado, sem uso
Reservado e sem uso; famoso pelo "I’m a teapot" da RFC 2324 de 1º de abril.
- 421Misdirected RequestRFC 9110
A requisição chegou a um servidor que não responde por este host (ex.: conexão HTTP/2 reaproveitada).
- 422Unprocessable ContentRFC 9110
A sintaxe está correta, mas o conteúdo é semanticamente inválido (erros de validação).
- 423LockedRFC 4918
WebDAV: o recurso está bloqueado.
- 424Failed DependencyRFC 4918
WebDAV: a requisição falhou porque uma ação da qual dependia falhou.
- 425Too EarlyRFC 8470
O servidor se recusa a processar uma requisição que pode ser repetida (early data do TLS 1.3).
- 426Upgrade RequiredRFC 9110
O cliente precisa mudar para outro protocolo listado no cabeçalho Upgrade.
- 428Precondition RequiredRFC 6585
O servidor exige uma requisição condicional (If-Match) para evitar atualizações perdidas.
- 429Too Many RequestsRFC 6585
Requisições demais em um período (limite de taxa); Retry-After indica quando tentar de novo.
- 431Request Header Fields Too LargeRFC 6585
Os cabeçalhos da requisição (ou um deles, como os cookies) são grandes demais.
- 451Unavailable For Legal ReasonsRFC 7725
O recurso está indisponível por razões legais, como ordem judicial ou censura.
- 500Internal Server ErrorRFC 9110
Erro genérico e inesperado no servidor.
- 501Not ImplementedRFC 9110
O servidor não suporta a funcionalidade necessária (ex.: método desconhecido).
- 502Bad GatewayRFC 9110
Um gateway ou proxy recebeu uma resposta inválida do servidor de origem.
- 503Service UnavailableRFC 9110
O servidor está sobrecarregado ou em manutenção temporariamente; pode enviar Retry-After.
- 504Gateway TimeoutRFC 9110
Um gateway ou proxy não recebeu a resposta do servidor de origem a tempo.
- 505HTTP Version Not SupportedRFC 9110
A versão do HTTP usada na requisição não é suportada.
- 506Variant Also NegotiatesRFC 2295
A negociação de conteúdo está mal configurada: a variante escolhida também negocia.
- 507Insufficient StorageRFC 4918
WebDAV: o servidor não tem espaço suficiente para concluir a requisição.
- 508Loop DetectedRFC 5842
WebDAV: o servidor detectou um loop infinito ao processar a requisição.
- 510Not Extended (OBSOLETED)RFC 2774obsoleto
Obsoleto: a requisição precisava de outras extensões (HTTP Extension Framework).
- 511Network Authentication RequiredRFC 6585
O cliente precisa se autenticar para acessar a rede, como em um portal cativo de Wi-Fi.
O que é Códigos de status HTTP?
Uma referência completa e pesquisável dos 64 códigos de status HTTP registrados na IANA, do 100 Continue ao 511 Network Authentication Required. Cada entrada mostra a frase de motivo oficial, o RFC que o define e uma explicação curta do que significa e de quando os servidores o enviam; códigos obsoletos e sem uso são identificados.
Como usar Códigos de status HTTP
- Digite um código (
404), parte de um código (30) ou uma palavra (redirect,timeout) na caixa de busca. - Filtre por classe: 1xx informativo, 2xx sucesso, 3xx redirecionamento, 4xx erro do cliente, 5xx erro do servidor.
- Leia a frase de motivo, o RFC e a explicação de cada código.
Exemplo
418
418 (Unused) · RFC 9110 · reserved and unused; known from the "I’m a teapot" April Fools’ RFC 2324.
Quando usar Códigos de status HTTP
Use ao depurar APIs, ler logs de servidor ou escolher qual status retornar nos seus próprios endpoints. Códigos não oficiais usados por produtos específicos (Nginx 499, Cloudflare 520–527, IIS 440) não estão no registro e, portanto, não são listados.
Como funciona Códigos de status HTTP
A lista reflete o IANA HTTP Status Code Registry, que desde 2022 é definido principalmente pelo RFC 9110 (HTTP Semantics), mais extensões como o WebDAV (RFC 4918) e o RFC 6585. A busca compara o prefixo do código, a frase de motivo em inglês e a explicação no idioma atual, tudo localmente.
Casos de Uso Comuns
- Decidir entre 401 e 403, ou entre 400 e 422, para um erro de API.
- Consultar 425 Too Early ou 421 Misdirected Request vistos em logs.
- Explicar a um cliente por que 410 Gone é melhor que 404 para páginas removidas.
- Escolher entre 307 e 308 quando um redirecionamento precisa manter o método POST.
Perguntas Frequentes
Qual a diferença entre 401 e 403?
401 significa não autenticado (ou credenciais que falharam) e vem com WWW-Authenticate. 403 significa que o servidor sabe quem você é, mas você não tem permissão.
O 418 I'm a teapot é um código de status de verdade?
Ele está reservado no registro e listado como sem uso pelo RFC 9110, porque muitas bibliotecas o implementam a partir do RFC de 1º de abril de 1998.
Por que o 422 agora se chama Unprocessable Content?
O RFC 9110 o moveu do WebDAV para o HTTP básico e o renomeou de Unprocessable Entity.