Saltar para o conteúdo principal
LibraTool logoLibraTool

Referência de Códigos de Status HTTP grátis

Referência pesquisável para todos os códigos de status HTTP — o que cada um significa, quando é usado e causas comuns. De 100 a 511.

Funciona offline depois de carregado

61 códigos de status

100

Continuar

O servidor recebeu os cabeçalhos da solicitação e o cliente deve prosseguir com o corpo.

Usado para solicitações com Expect: 100-continue. O servidor reconhece que está disposto a receber o corpo antes que o cliente o envie. Raramente visto em aplicações web modernas.

RFC 9110 ↗
101

Alternando Protocolos

O servidor está alternando protocolos conforme solicitado pelo cliente.

Mais comumente usado para atualizações WebSocket — o cliente solicita Upgrade: websocket e o servidor responde 101 para alternar.

RFC 9110 ↗
102

Processando

O servidor recebeu a solicitação e está processando-a, mas nenhuma resposta está disponível ainda.

Uma resposta provisória WebDAV enviada para evitar timeouts de cliente durante operações demoradas. Descontinuado — servidores modernos não devem enviá-lo.

RFC 2518 ↗
103

Primeiras Dicas

Cabeçalhos preliminares enviados antes da resposta final.

Permite que servidores enviem cabeçalhos Link (preload/preconnect) enquanto a resposta final ainda está sendo preparada, para que os navegadores possam começar a buscar ativos críticos mais cedo.

RFC 8297 ↗
200

OK

A solicitação foi bem-sucedida.

A resposta de sucesso padrão. O significado depende do método HTTP: GET → recurso retornado, POST/PUT → ação concluída.

RFC 9110 ↗
201

Criado

Um novo recurso foi criado com sucesso.

Comum após um POST. A resposta deve incluir um cabeçalho Location apontando para a URL do novo recurso.

RFC 9110 ↗
202

Aceito

A solicitação foi aceita para processamento, mas o processamento não está completo.

Para operações assíncronas — o servidor está enfileirando o trabalho. O cliente deve pesquisar um endpoint de status ou verificar mais tarde.

RFC 9110 ↗
203

Informação Não Autoritária

A resposta foi modificada por um proxy de transformação.

A solicitação foi bem-sucedida, mas um intermediário (como um proxy de cache ou transformação) alterou o payload do servidor de origem — por exemplo, recomprimindo imagens. Raro na prática.

RFC 9110 ↗
204

Sem Conteúdo

A solicitação foi bem-sucedida, mas não há corpo de resposta.

Frequentemente usado para operações DELETE ou atualizações PUT que não precisam retornar um corpo. O cliente não deve sair da página atual.

RFC 9110 ↗
205

Redefinir Conteúdo

A solicitação foi bem-sucedida; o cliente deve redefinir a exibição do documento.

Como 204, nenhum corpo é retornado — mas o cliente também é instruído a redefinir o formulário ou a visualização que produziu a solicitação (ex. limpar os campos do formulário para a próxima entrada).

RFC 9110 ↗
206

Conteúdo Parcial

O servidor entregou apenas parte do recurso.

Resposta a uma solicitação Range. Usado por players de vídeo e gerenciadores de download para retomar downloads interrompidos ou transmitir arquivos grandes.

RFC 9110 ↗
207

Multi-Status

O corpo da resposta contém múltiplos códigos de status para várias operações.

WebDAV: um corpo XML relata o resultado de várias sub-operações independentemente — ex. um deslocamento em lote onde alguns itens tiveram sucesso e outros falharam.

RFC 4918 ↗
208

Já Reportado

Os membros de uma coleção já foram listados anteriormente na resposta.

WebDAV: usado dentro de respostas 207 Multi-Status para evitar listar repetidamente membros da mesma coleção quando vinculações criam loops.

RFC 5842 ↗
226

IM Usado

A resposta é o resultado de manipulações de instância aplicadas ao recurso.

Codificação delta: o servidor retorna um diff em relação a uma versão anterior em vez do recurso completo, economizando largura de banda. Muito raramente implementado.

RFC 3229 ↗
300

Múltiplas Escolhas

Várias representações do recurso estão disponíveis.

O servidor oferece várias opções (ex. diferentes formatos ou idiomas) e o cliente deve escolher uma. Raramente usado, pois a negociação de conteúdo automática geralmente trata disso.

RFC 9110 ↗
301

Movido Permanentemente

O recurso foi permanentemente movido para uma nova URL.

Use para alterações permanentes de URL — mecanismos de busca atualizarão seu índice. A autoridade de SEO é transferida para a nova URL.

RFC 9110 ↗
302

Encontrado (Redirecionamento Temporário)

O recurso está temporariamente em uma URL diferente.

Indica que o redirecionamento não é permanente. O cache é menos agressivo que 301. Use para coisas como 'login obrigatório, redirecionando para /login'.

RFC 9110 ↗
303

Ver Outro

Redirecionar para uma URL diferente usando GET.

Usado após envios POST — a resposta diz 'seu POST funcionou, veja esta URL GET para o resultado'. Os navegadores sempre obterão a nova URL.

RFC 9110 ↗
304

Não Modificado

A versão em cache ainda é válida; use-a.

Resposta a uma solicitação condicional (com cabeçalhos If-None-Match ou If-Modified-Since). Economiza largura de banda — nenhum corpo é retornado.

RFC 9110 ↗
307

Redirecionamento Temporário

Como 302, mas preserva o método HTTP original.

Se o original era POST, o redirecionamento também usa POST. Alternativa moderna para 302 quando a preservação do método é importante.

RFC 9110 ↗
308

Redirecionamento Permanente

Como 301, mas preserva o método HTTP original.

Substituição moderna para 301 quando você deseja que solicitações POST permaneçam POST após o redirecionamento.

RFC 9110 ↗
400

Solicitação Inválida

O servidor não conseguiu compreender a solicitação devido à sintaxe malformada.

Causas comuns: JSON malformado no corpo, parâmetros de consulta inválidos ou campos obrigatórios ausentes. Verifique o corpo da solicitação e os cabeçalhos.

RFC 9110 ↗
401

Não Autorizado

A autenticação é obrigatória e não foi fornecida.

O cliente deve incluir credenciais de autenticação (cabeçalho Authorization, cookie, token). 'Não autorizado' é um nome impróprio — na verdade significa 'não autenticado'.

RFC 9110 ↗
402

Pagamento Obrigatório

Reservado para uso futuro — às vezes usado para camadas de API pagas.

Originalmente foi destinado a pagamentos digitais. Uso moderno: às vezes APIs retornam 402 quando um usuário excedeu sua cota paga.

RFC 9110 ↗
403

Proibido

O cliente está autenticado, mas não tem permissão.

Diferente de 401 — o usuário ESTÁ conectado, mas sua conta não tem permissão para este recurso. Verifique a lógica de papel/permissões.

RFC 9110 ↗
404

Não Encontrado

O recurso solicitado não existe.

A URL está errada, o recurso foi deletado ou nunca existiu. Servidores às vezes retornam 404 para ocultar que um 403 seria mais preciso.

RFC 9110 ↗
405

Método Não Permitido

O método HTTP usado não é permitido para este recurso.

Por exemplo, uma solicitação GET para um endpoint que aceita apenas POST. A resposta deve incluir um cabeçalho Allow listando os métodos válidos.

RFC 9110 ↗
406

Não Aceitável

Nenhuma representação corresponde aos cabeçalhos Accept do cliente.

O cliente solicitou um tipo de conteúdo, idioma ou codificação (via Accept, Accept-Language, Accept-Encoding) que o servidor não pode satisfazer. Muitos servidores ignoram a negociação estrita e retornam um padrão.

RFC 9110 ↗
407

Autenticação de Proxy Obrigatória

O cliente deve se autenticar com o proxy primeiro.

Como 401, mas emitido por um proxy: o cliente deve enviar credenciais Proxy-Authorization. Visto em redes corporativas com proxies autenticadores.

RFC 9110 ↗
408

Tempo Limite da Solicitação

O servidor expirou aguardando a solicitação.

O cliente demorou muito para enviar o corpo da solicitação ou manteve a conexão ociosa. Tente a solicitação novamente.

RFC 9110 ↗
409

Conflito

A solicitação entra em conflito com o estado atual do recurso.

Normalmente retornado para conflitos de edição simultânea ou criação de recursos duplicados (por exemplo, criar um usuário com um e-mail que já existe).

RFC 9110 ↗
410

Desaparecido

O recurso foi deletado e não voltará.

Mais forte que 404 — o servidor sabe explicitamente que o recurso EXISTIU mas foi removido permanentemente. Os mecanismos de pesquisa removerão do índice.

RFC 9110 ↗
411

Comprimento Necessário

O servidor exige um cabeçalho Content-Length.

A solicitação foi rejeitada porque lhe faltava um cabeçalho Content-Length e o servidor recusa corpos de tamanho desconhecido. Adicione o cabeçalho e tente novamente.

RFC 9110 ↗
412

Pré-condição Falhou

Uma condição nos cabeçalhos da solicitação não foi atendida.

Retornado quando cabeçalhos condicionais como If-Match ou If-Unmodified-Since falham — normalmente bloqueio otimista: alguém alterou o recurso desde sua versão. Busque novamente e tente outra vez.

RFC 9110 ↗
413

Carga Útil Muito Grande

O corpo da solicitação excede o limite de tamanho do servidor.

Comum ao fazer upload de arquivos grandes. A configuração do servidor (nginx, apache) define um tamanho máximo de corpo. Verifique a configuração do servidor.

RFC 9110 ↗
414

URI Muito Longa

A URL da solicitação excede o limite de comprimento do servidor.

Geralmente causado por strings de consulta muito longas (por exemplo, codificar dados em um GET). Mude para um corpo POST ou aumente o limite do servidor se você o controlar.

RFC 9110 ↗
415

Tipo de Mídia Não Suportado

O servidor não consegue processar o Content-Type enviado.

Por exemplo, enviar application/xml para um servidor que só aceita application/json. Configure o cabeçalho Content-Type corretamente.

RFC 9110 ↗
416

Intervalo Não Satisfazível

O intervalo de bytes solicitado está fora do tamanho do recurso.

O cabeçalho Range pede uma parte que o arquivo não possui — por exemplo, retomar um download após o final do arquivo. A resposta deve incluir Content-Range com o tamanho real.

RFC 9110 ↗
417

Expectativa Falhou

O servidor não consegue atender aos requisitos do cabeçalho Expect.

Enviado quando o servidor não suporta Expect: 100-continue. Alguns clientes enviam este cabeçalho por padrão em POSTs grandes; desativar geralmente resolve o erro.

RFC 9110 ↗
418

Sou uma Chaleira

O servidor se recusa a fazer café porque é um bule.

Uma brincadeira de Primeiro de Abril de 1998 (RFC 2324). Algumas APIs reais usam para brincadeiras ou para marcar endpoints descontinuados. Não para uso em produção.

RFC 2324 ↗
421

Solicitação Mal Direcionada

A solicitação foi enviada para um servidor incapaz de produzir uma resposta para ela.

Comum com reutilização de conexão HTTP/2: a solicitação atingiu um servidor que não está configurado para o nome de host de destino. O cliente deve tentar novamente em uma nova conexão.

RFC 9110 ↗
422

Conteúdo Não Processável

A solicitação foi sintaticamente válida mas semanticamente errada.

Por exemplo, JSON foi analisado corretamente mas um campo obrigatório estava faltando, ou um valor de campo estava fora do intervalo. Comum em respostas de validação de API REST.

RFC 9110 ↗
423

Bloqueado

O recurso está bloqueado.

WebDAV: o recurso de origem ou destino está bloqueado por outro cliente, portanto a operação não pode prosseguir. Aguarde o desbloqueio ou quebre-o com o token apropriado.

RFC 4918 ↗
424

Dependência Falhou

A solicitação falhou porque uma solicitação anterior dependente falhou.

WebDAV: em uma cadeia de operações dependentes, uma ação anterior falhou, então esta não foi executada. Procure pela falha anterior pela causa raiz.

RFC 4918 ↗
425

Muito Cedo

O servidor se recusa a processar uma solicitação que pode ser reproduzida.

Relacionado a TLS 1.3 0-RTT (dados antecipados): o servidor não corre o risco de processar uma solicitação possivelmente reproduzida. O cliente deve tentar novamente após a conclusão do handshake.

RFC 8470 ↗
426

Atualização Necessária

O cliente deve mudar para um protocolo diferente.

O servidor se recusa a servir a solicitação sobre o protocolo atual mas o fará após uma atualização — a resposta inclui um cabeçalho Upgrade nomeando o protocolo necessário.

RFC 9110 ↗
428

Pré-condição Necessária

O servidor exige que a solicitação seja condicional.

O servidor exige cabeçalhos condicionais (como If-Match) para evitar conflitos de atualização perdida. Busque o recurso, capture seu ETag e reenvie com If-Match.

RFC 6585 ↗
429

Muitas Solicitações

O cliente está sendo limitado por taxa.

Desacelere. A resposta deve incluir um cabeçalho Retry-After indicando quando tentar novamente. Comum com APIs que têm quotas de solicitações.

RFC 6585 ↗
431

Campos de Cabeçalho da Solicitação Muito Grandes

Os cabeçalhos são muito grandes para o servidor processar.

Ou um cabeçalho ou o tamanho total do cabeçalho excede o limite — mais frequentemente causado por cookies enormes. Limpe cookies ou reduza o que seu aplicativo armazena neles.

RFC 6585 ↗
451

Indisponível Por Razões Legais

Acesso negado devido a demandas legais.

O recurso está bloqueado por razões legais — censura, ordens judiciais ou regulamentos regionais. O número é uma referência ao romance Fahrenheit 451.

RFC 7725 ↗
500

Erro Interno do Servidor

O servidor encontrou uma condição inesperada.

Um catch-all genérico para erros do lado do servidor. Verifique os logs do servidor pela causa real: exceção não tratada, erro de banco de dados, etc.

RFC 9110 ↗
501

Não Implementado

O servidor não suporta a funcionalidade solicitada.

Por exemplo, o servidor não reconhece o método HTTP. Raro na prática — mais frequentemente você verá 405.

RFC 9110 ↗
502

Gateway Inválido

O servidor, atuando como gateway, recebeu uma resposta inválida de um servidor upstream.

Comum em arquiteturas de microsserviços. Seu balanceador de carga ou proxy reverso recebeu uma resposta malformada do serviço backend.

RFC 9110 ↗
503

Serviço Indisponível

O servidor está temporariamente incapaz de processar a solicitação.

Ou está em manutenção ou sobrecarregado. A resposta deve incluir um cabeçalho Retry-After. Frequentemente retornado durante implantações.

RFC 9110 ↗
504

Tempo Limite do Gateway

O servidor gateway expirou aguardando uma resposta upstream.

O serviço backend não respondeu rápido o suficiente. Verifique a saúde do serviço upstream e as configurações de tempo limite.

RFC 9110 ↗
505

Versão HTTP Não Suportada

O servidor não suporta a versão HTTP usada na solicitação.

A versão principal de HTTP da solicitação não é suportada pelo servidor. Quase nunca visto com clientes modernos.

RFC 9110 ↗
506

Variante Também Negocia

O servidor tem uma má configuração de negociação de conteúdo.

Negociação de conteúdo transparente terminou em um loop: a variante escolhida está configurada para negociar. Indica um erro de configuração do servidor.

RFC 2295 ↗
507

Armazenamento Insuficiente

O servidor está sem espaço em disco.

WebDAV-específica em origem mas às vezes usada por servidores gerais. Significa que o servidor não consegue salvar a solicitação devido a restrições de armazenamento.

RFC 4918 ↗
508

Loop Detectado

O servidor detectou um loop infinito ao processar a solicitação.

WebDAV: processando uma solicitação Depth: infinity entrou em um loop (por exemplo, ligações circulares). A operação foi terminada.

RFC 5842 ↗
510

Não Estendido

Extensões adicionais para a solicitação são necessárias.

Do obsoleto HTTP Extension Framework: o servidor precisa de mais informações antes de poder cumprir a solicitação. Efetivamente não utilizado na web moderna.

RFC 2774 ↗
511

Autenticação de Rede Necessária

O cliente deve se autenticar para ganhar acesso à rede.

Usado por portais cativos (WiFi de hotel/aeroporto) para indicar que o usuário deve fazer login na rede antes de acessar sites externos.

RFC 6585 ↗

Usos comuns

  • Referência para Design de APIAo projetar APIs REST, escolha o código de status correto para cada resposta.
  • Pesquise Códigos de Erro RapidamenteQuando seu aplicativo retorna um erro HTTP confuso, procure o que realmente significa.
  • Aprenda Códigos de Status HTTPReferência abrangente para alunos e desenvolvedores que aprendem HTTP e REST.
  • Referência Rápida Durante IncidentesDurante incidentes de produção, procure rapidamente o que cada código de status significa.
  • Referência para Documentação de APIAo escrever documentação de API, vincule a descrições autorizadas dos códigos de status que você retorna.

Como funciona

Esta ferramenta é uma referência do lado do cliente construída à volta de uma tabela de consulta codificada de 63 códigos de estado HTTP abrangendo todas as cinco classes (1xx–5xx), cada um anotado com o seu número RFC definidor. Não há chamada a servidor, API externa, nem pedido de rede — toda a filtragem e exibição acontece no navegador usando métodos integrados de array e string do JavaScript.

  1. 1
    A tabela de consulta é carregada
    O conjunto completo de 63 códigos de estado registados na IANA está incorporado diretamente nesta ferramenta como um array de JavaScript, cada entrada trazendo o código numérico, nome canónico em inglês, classe de categoria, e a RFC específica que o define (por exemplo, RFC 9110 para a maioria dos códigos HTTP/1.1, RFC 6585 para 429 Too Many Requests, RFC 2324 para 418 I'm a Teapot).
  2. 2
    O filtro funciona em memória
    Enquanto escreve ou seleciona um filtro de categoria, o Array.filter do JavaScript funciona sobre a lista em memória, correspondendo a sua pesquisa ao número do código de estado, ao nome canónico, e a ambas as strings de descrição curta e longa usando String.includes — sem atraso de debounce, sem ida e volta ao servidor.
  3. 3
    Os detalhes expandem com link RFC
    Cada resultado renderiza como um elemento HTML details/summary. Expandir uma entrada revela a explicação em forma longa e um link direto para a RFC autoritativa em rfc-editor.org, para poder ler o texto exato da especificação para qualquer código.
  4. 4
    Links profundos e cópia para a área de transferência
    Abrir uma entrada atualiza o hash da URL para o número do código (por exemplo, #404), tornando a página compartilhável e amigável para favoritos. O botão de copiar grava a string canônica (por exemplo, '404 Not Found') na área de transferência via a API navigator.clipboard do navegador.

Ferramentas relacionadas

Perguntas frequentes