O cliente deve continuar enviando o corpo da requisição (após um Expect: 100-continue).
CacheávelTem corpo
O servidor concorda em trocar de protocolo (ex.: upgrade para WebSocket).
CacheávelTem corpo
Permite pré-carregar recursos (Link headers) antes da resposta final.
CacheávelTem corpoExperimental
Sucesso padrão. O corpo depende do método (GET retorna o recurso).
CacheávelTem corpo
Recurso criado com sucesso; normalmente vem com header Location.
CacheávelTem corpo
Causas comuns- Resposta típica de POST/PUT que cria um recurso.
Pedido aceito para processamento assíncrono; ainda não concluído.
CacheávelTem corpo
Sucesso, mas um proxy intermediário modificou o conteúdo da resposta original do servidor de origem.
CacheávelTem corpo
Sucesso sem corpo de resposta (comum em DELETE e PUT).
CacheávelTem corpo
Sucesso sem corpo; instrui o user agent a limpar o formulário ou a view que originou o pedido.
CacheávelTem corpo
Resposta parcial a uma requisição com header Range (downloads, vídeo).
CacheávelTem corpo
O recurso tem mais de uma representação; o cliente deveria escolher uma. Raramente usado na prática, sem um formato padronizado de escolha automática.
CacheávelTem corpoExperimental
O recurso mudou de URL permanentemente; atualize links e favoritos.
CacheávelTem corpo
Como tratar- Use 301 para SEO ao mover URLs em definitivo; clientes podem trocar POST por GET.
Redirecionamento temporário; o método pode mudar para GET na prática.
CacheávelTem corpo
Veja outro recurso com GET (padrão Post/Redirect/Get).
CacheávelTem corpo
O recurso em cache ainda é válido (ETag/If-Modified-Since); use o cache. A resposta em si não carrega conteúdo, então a RFC 9110 não a lista como cacheável por padrão como o 200.
CacheávelTem corpo
Redirecionamento temporário que preserva o método e o corpo.
CacheávelTem corpo
Redirecionamento permanente que preserva o método e o corpo.
CacheávelTem corpo
O servidor não entendeu o pedido por erro de sintaxe ou dados inválidos.
CacheávelTem corpo
Causas comuns- JSON malformado, parâmetros faltando ou tipos errados.
- Validação de entrada falhou no servidor.
Como tratar- Valide o corpo/headers e confira o Content-Type enviado.
Falta autenticação válida. Apesar do nome, é sobre autenticação, não permissão.
CacheávelTem corpo
Causas comuns- Token/credencial ausente, expirado ou inválido.
Como tratar- Envie o header Authorization correto; renove o token se expirou.
Reservado para uso futuro pela RFC 9110. Algumas APIs de pagamento o reutilizam de forma não padronizada para sinalizar cobrança pendente.
CacheávelTem corpoExperimental
Autenticado, mas sem permissão para o recurso. Reautenticar não resolve.
CacheávelTem corpo
Causas comuns- Falta de papel/escopo, IP bloqueado ou WAF.
Como tratar- Revise permissões/escopos; verifique regras de firewall/WAF.
O recurso não existe nessa URL (ou o servidor não quer revelar que existe).
CacheávelTem corpo
Causas comuns- URL/rota errada, recurso removido ou ID inexistente.
Como tratar- Confira a rota e o método; trate IDs inexistentes na aplicação.
O método HTTP não é permitido nesse recurso (veja o header Allow).
CacheávelTem corpo
Como tratar- Use o método correto (GET/POST/...) listado no header Allow.
Nenhuma representação atende ao Accept enviado pelo cliente.
CacheávelTem corpo
Como o 401, mas a autenticação exigida é a de um proxy, não a do servidor de origem.
CacheávelTem corpo
Como tratar- Envie o header Proxy-Authorization com as credenciais do proxy.
O cliente demorou demais para enviar o pedido completo.
CacheávelTem corpo
Conflito com o estado atual do recurso (ex.: edição concorrente).
CacheávelTem corpo
Como tratar- Recarregue o estado atual e reenvie; use ETags para concorrência.
O recurso existia e foi removido permanentemente.
CacheávelTem corpo
O servidor recusa o pedido sem um Content-Length definido.
CacheávelTem corpo
Como tratar- Inclua o header Content-Length com o tamanho do corpo em bytes.
Uma pré-condição enviada pelo cliente (If-Match, If-Unmodified-Since etc.) foi avaliada como falsa no servidor.
CacheávelTem corpo
Causas comuns- O recurso mudou desde a última leitura do cliente (edição concorrente).
O corpo da requisição é maior do que o servidor aceita.
CacheávelTem corpo
Como tratar- Reduza o payload ou ajuste o limite (ex.: client_max_body_size no nginx).
A URL é longa demais (geralmente query string gigante em GET).
CacheávelTem corpo
O Content-Type do corpo não é suportado pelo endpoint.
CacheávelTem corpo
Como tratar- Envie o Content-Type correto (ex.: application/json).
O intervalo pedido no header Range não pôde ser atendido (comum em downloads retomados e streaming de vídeo).
CacheávelTem corpo
Causas comuns- Offset além do tamanho atual do arquivo, ou o arquivo mudou entre o pedido original e a retomada.
Um servidor no caminho não conseguiu atender à expectativa do header Expect (ex.: 100-continue).
CacheávelTem corpo
Piada de 1998 (RFC 2324/7168, protocolo HTCPCP). A RFC 9110 marca oficialmente o código como reservado (“Unused”) por causa do uso disseminado como piada, ele não pode ganhar um significado sério; ainda assim, segue amplamente implementado como easter egg em frameworks e ferramentas.
CacheávelTem corpoObsoleto
O pedido chegou a um servidor que não pode dar uma resposta autoritativa para essa origem, comum quando uma conexão HTTP/2 é reaproveitada entre domínios diferentes.
CacheávelTem corpo
Como tratar- O cliente pode repetir o pedido numa conexão nova específica para a origem-alvo.
Sintaxe ok, mas a semântica é inválida (falha de validação de regras).
CacheávelTem corpo
Como tratar- Comum em APIs REST para erros de validação detalhados.
O recurso está bloqueado (extensão WebDAV), comum em serviços de armazenamento e edição colaborativa de arquivos.
CacheávelTem corpo
O pedido falhou porque outro pedido do qual ele dependia falhou antes (extensão WebDAV).
CacheávelTem corpo
O servidor recusa processar dados enviados cedo demais (anti-replay 0-RTT).
CacheávelTem corpoExperimental
O cliente precisa trocar para outro protocolo (ex.: TLS mais novo).
CacheávelTem corpo
O servidor exige uma pré-condição (ex.: If-Match) para evitar lost updates.
CacheávelTem corpo
Rate limit atingido. Veja o header Retry-After para esperar.
CacheávelTem corpo
Como tratar- Implemente backoff exponencial e respeite Retry-After.
Os headers (ou um cookie) são grandes demais.
CacheávelTem corpo
Conteúdo bloqueado por motivos legais (censura, DMCA, GDPR).
CacheávelTem corpo
Erro genérico e inesperado no servidor. Veja os logs do backend.
CacheávelTem corpo
Causas comuns- Exceção não tratada, bug ou dependência indisponível.
Como tratar- Inspecione os logs/stack trace; adicione tratamento de erro.
O servidor não suporta a funcionalidade necessária (ex.: método).
CacheávelTem corpo
Um proxy/gateway recebeu uma resposta inválida do servidor upstream.
CacheávelTem corpo
Causas comuns- App caiu, upstream errado ou timeout no proxy (nginx).
Como tratar- Verifique se o serviço upstream está de pé e a config do proxy.
Servidor temporariamente indisponível (sobrecarga ou manutenção).
CacheávelTem corpo
Como tratar- Use Retry-After; escale recursos ou aguarde a manutenção.
Um proxy/gateway não recebeu resposta do upstream a tempo.
CacheávelTem corpo
Causas comuns- Upstream lento, query travada ou timeout curto no proxy.
A versão de HTTP do pedido não é suportada pelo servidor.
CacheávelTem corpo
Erro de configuração da negociação de conteúdo: a variante escolhida também negocia, criando um laço que o servidor precisa cortar.
CacheávelTem corpoExperimental
O servidor não tem espaço de armazenamento para concluir o pedido (WebDAV).
CacheávelTem corpo
O servidor detectou um laço infinito ao processar um pedido WebDAV com profundidade ilimitada (Depth: infinity).
CacheávelTem corpo
É preciso autenticar na rede (portais cativos de Wi-Fi).
CacheávelTem corpo
Esta é uma referência offline: nada é enviado para a rede. A ferramenta não acessa nenhum site nem faz requisições, apenas explica os códigos.