Tabela de códigos de status HTTP para imprimir
Esta tabela reúne os 62 códigos do registro da IANA, do 100 Continue ao 511 Network Authentication Required, e mais os 9 códigos do nginx e da Cloudflare que aparecem nos logs, em uma única página A4 ou Carta, com uma linha de explicação para cada.
Cabe em uma página: A4, Carta.
Códigos de status HTTP
Todos os códigos do registro da IANA, mais nginx e Cloudflare
Informativos1xx
- 100Continue Sinal verde provisório: os cabeçalhos foram aceitos, pode enviar o corpo.
- 101Switching Protocols O servidor aceitou o Upgrade; a conexão passa a usar outro protocolo.
- 102Processing Sinal de vida do WebDAV: pedido recebido, ainda processando, não desista.
- 103Early Hints Cabeçalhos Link enviados antes da resposta final para o navegador adiantar downloads.
Sucesso2xx
- 200OK O pedido deu certo e o corpo da resposta traz o resultado.
- 201Created Um novo recurso foi criado; o Location diz onde ele está.
- 202Accepted Enfileirado para processamento; ainda não terminou e pode falhar.
- 203Non-Authoritative Information Sucesso, mas um proxy alterou a resposta do servidor de origem.
- 204No Content Sucesso, e de propósito não há corpo na resposta.
- 205Reset Content Sucesso; limpe o formulário ou a tela que enviou o pedido.
- 206Partial Content Só a faixa de bytes pedida no cabeçalho Range, não o arquivo inteiro.
- 207Multi-Status Vários resultados num corpo só, cada um com o próprio status.
- 208Already Reported Dentro de um 207: esta coleção já foi listada antes na resposta.
- 226IM Used O corpo é um delta ou transformação do recurso, não a cópia inteira.
Redirecionamento3xx
- 300Multiple Choices Existem várias versões do recurso e o cliente deve escolher uma.
- 301Moved Permanently Mudou de vez para a URL do Location; atualize links e favoritos.
- 302Found Está temporariamente em outra URL; continue usando a original.
- 303See Other Busque o resultado em outra URL com GET, normalmente depois de um POST.
- 304Not Modified A cópia em cache continua válida; reaproveite. Vem sem corpo.
- 305Use Proxy Obsoleto. Significava: repita o pedido pelo proxy indicado.
- 307Temporary Redirect Está em outro lugar por enquanto; repita o mesmo pedido, mesmo método e corpo.
- 308Permanent Redirect Mudou de vez; repita o pedido no Location com o mesmo método.
Erros do cliente4xx
- 400Bad Request O servidor não processa o pedido porque algo nele está malformado.
- 401Unauthorized O pedido não tem credenciais válidas; faça login ou envie um token válido.
- 402Payment Required Reservado pela especificação; na prática, um pagamento ou limite do plano bloqueia o pedido.
- 403Forbidden O servidor entendeu o pedido e recusa; entrar de novo na conta não muda isso.
- 404Not Found Não existe nada nesta URL, ou o servidor prefere não revelar que existe.
- 405Method Not Allowed A URL existe, mas não aceita este método, como um POST numa página só de leitura.
- 406Not Acceptable Nenhuma versão do recurso bate com os formatos ou idiomas que o cliente aceita.
- 407Proxy Authentication Required Um proxy no caminho até o servidor exige credenciais antes de repassar o pedido.
- 408Request Timeout O servidor parou de esperar porque o cliente demorou demais para enviar o pedido.
- 409Conflict O pedido conflita com o estado atual do recurso, como um duplicado ou uma edição desatualizada.
- 410Gone O recurso foi removido de propósito e não vai voltar.
- 411Length Required O servidor recusa um corpo de requisição sem o cabeçalho Content-Length.
- 412Precondition Failed Um cabeçalho condicional (If-Match, If-Unmodified-Since) deu falso no servidor.
- 413Content Too Large O corpo do pedido (geralmente um upload) é maior do que o servidor aceita.
- 414URI Too Long A URL, quase sempre a query string, é mais longa do que o servidor aceita ler.
- 415Unsupported Media Type O servidor não aceita o formato do corpo informado em Content-Type ou Content-Encoding.
- 416Range Not Satisfiable O intervalo de bytes do cabeçalho Range fica fora do arquivo.
- 417Expectation Failed Um servidor no caminho não consegue atender o cabeçalho Expect do pedido.
- 418I'm a teapot Uma piada de 1º de abril da RFC 2324, hoje reservada para ninguém reaproveitar.
- 421Misdirected Request A conexão chegou a um servidor que não responde por este domínio.
- 422Unprocessable Content O corpo está bem formado, mas os valores quebram as regras de validação.
- 423Locked WebDAV: o arquivo ou pasta está bloqueado por outra pessoa.
- 424Failed Dependency Não executado porque uma ação anterior do mesmo pedido falhou.
- 425Too Early Recusado porque chegou em dados 0-RTT do TLS 1.3 e poderia ser repetido.
- 426Upgrade Required Troque para o protocolo do cabeçalho Upgrade, muitas vezes WebSocket, e tente de novo.
- 428Precondition Required Alterações precisam ser condicionais: envie If-Match com o ETag lido por último.
- 429Too Many Requests Limite de taxa atingido: pedidos demais num intervalo. Espere e tente de novo.
- 431Request Header Fields Too Large Cabeçalhos grandes demais, quase sempre por cookies em excesso ou enormes.
- 451Unavailable For Legal Reasons Bloqueado por uma exigência legal, como ordem judicial ou pedido de remoção.
Erros do servidor5xx
- 500Internal Server Error Algo quebrou dentro do servidor enquanto ele processava o pedido.
- 501Not Implemented O servidor não suporta esse método ou recurso em nenhum endereço.
- 502Bad Gateway Um proxy ou gateway recebeu resposta inválida do servidor atrás dele.
- 503Service Unavailable O servidor está temporariamente sobrecarregado ou em manutenção.
- 504Gateway Timeout Um proxy desistiu de esperar a resposta do servidor atrás dele.
- 505HTTP Version Not Supported O servidor recusa a versão principal do HTTP usada no pedido.
- 506Variant Also Negotiates Erro de configuração da negociação: a variante escolhida também negocia.
- 507Insufficient Storage O servidor não tem espaço para guardar o que o pedido exige.
- 508Loop Detected O WebDAV entrou em laço infinito; em hospedagem compartilhada, a conta bateu no limite.
- 510Not Extended Obsoleto: faltou no pedido uma extensão exigida pelo servidor (RFC 2774).
- 511Network Authentication Required É preciso fazer login na rede (portal cativo) antes de navegar.
Códigos não oficiais (nginx, Cloudflare)4xx/5xx
- 444No Response O nginx fechou a conexão sem devolver nada.
- 499Client Closed Request O cliente desligou antes do nginx conseguir enviar a resposta.
- 520Web Server Returns an Unknown Error A Cloudflare recebeu uma resposta vazia, malformada ou inesperada da origem.
- 521Web Server Is Down A origem recusou a conexão da Cloudflare: servidor parado ou IPs bloqueados.
- 522Connection Timed Out A conexão TCP da Cloudflare com a origem ficou sem resposta a tempo.
- 523Origin Is Unreachable A Cloudflare não tem rota de rede até o IP da origem.
- 524A Timeout Occurred A origem aceitou o pedido mas não respondeu dentro do timeout da Cloudflare.
- 525SSL Handshake Failed O handshake TLS entre a Cloudflare e a origem falhou.
- 526Invalid SSL Certificate O modo Full (strict) não conseguiu validar o certificado da origem.
O que tem no guia
Os códigos estão agrupados por classe, de 1xx a 5xx, porque o primeiro dígito já diz de quem é a vez: um 4xx pede mudança no pedido, um 5xx indica falha no servidor ou em algo atrás dele. Os códigos de fornecedor ficam num grupo à parte no fim, para ninguém confundir um 499 ou 522 com o padrão.
Cada linha é o mesmo resumo usado na página completa do código, que cita a RFC onde ele é definido. Na tela, cada código leva a essa página, com causas, soluções e exemplos para Express, Next.js, Go, FastAPI e nginx.
Como imprimir em uma página
Escolha o papel acima do guia e clique em Imprimir / Salvar PDF. A página mede o guia na largura desse papel e ajusta a escala para ocupar uma folha, nunca abaixo de 7pt, e esconde o cabeçalho, o rodapé, os anúncios e os botões do site. A impressão sai sempre em preto no branco, seja qual for o tema da tela.
Na janela de impressão deixe a Escala em Padrão (100%) e as Margens em Padrão. Para gerar um PDF, escolha Salvar como PDF no destino. O Safari ignora o tamanho de papel que a página pede, então selecione o mesmo papel na janela dele.
Incorpore ou crie um link para este guia
Um link para esta página na sua documentação, wiki ou README é o melhor jeito de compartilhar: quem clicar sempre vê a versão atual e o botão de imprimir. Copie um destes:
<a href="https://www.arielton.com/pt/cheatsheets/http-status-codes">Tabela de códigos de status HTTP para imprimir</a> por <a href="https://www.arielton.com/pt">Arielton Oberek</a>[Tabela de códigos de status HTTP para imprimir](https://www.arielton.com/pt/cheatsheets/http-status-codes) por [Arielton Oberek](https://www.arielton.com/pt)Se a sua equipe quer o mesmo tratamento para uma API interna, uma CLI ou um guia de estilo, escreva para contact@arielton.com.
Perguntas frequentes
- Quais códigos de status HTTP vale decorar primeiro?
- 200, 201 e 204 para sucesso; 301 e 308 para redirecionamento permanente, 302 e 307 para temporário, e 304 para cache; 400, 401, 403, 404, 409, 422 e 429 para erros do cliente; 500, 502, 503 e 504 para erros do servidor. Eles cobrem quase toda resposta de um site ou API comum.
- Qual a diferença entre erro 401 e 403?
- O 401 Unauthorized indica que o pedido não tem credenciais válidas, então fazer login ou enviar um token válido resolve. O 403 Forbidden indica que o servidor sabe quem você é e mesmo assim recusa; entrar de novo com a mesma conta não adianta.
- Por que o 499 e os códigos 520 a 526 estão na tabela se não são oficiais?
- Porque aparecem nos logs de verdade. O nginx grava 499 quando o cliente desiste antes da resposta ficar pronta, e a Cloudflare devolve 520 a 526 quando não consegue uma resposta utilizável do seu servidor de origem. Eles ficam num grupo separado para ninguém confundir com os códigos padrão.
- De onde vêm os significados da tabela?
- Da RFC 9110 (HTTP Semantics) e das outras RFCs listadas no registro de códigos de status HTTP da IANA, resumidos em uma linha cada. A página completa de cada código cita a seção que o define.
Revisado em por Arielton Oberek.