Códigos de status HTTP
Uma resposta HTTP começa com um código de três dígitos e uma frase de motivo curta. O primeiro dígito é o resumo completo: 1xx é provisório, 2xx sucessu, 3xx aponta para outro lugar, 4xx culpa a solicitação, 5xx culpa o servidor. Se você se lembrar apenas disso, você pode ler um log que nunca viu antes.
As frases de motivo aqui são as dos RFCs, em inglês, porque é isso que viaja no fio — um servidor envia "Not Found", não uma tradução disso, e uma frase que você está procurando em um log tem que corresponder aos bytes que realmente foram enviados.
As distinções que causam problemas reais estão dentro das classes em vez de entre elas: 401 versus 403, 301 versus 308, e 502 versus 503 cada uma responde uma pergunta diferente sobre o que fazer em seguida, e cada uma é rotineiramente usada para a outra.
1xx — Informacional
3Provisório: a resposta não é final e outra segue.
| Código | Frase de motivo | O que significa |
|---|---|---|
| 100 | Continue | Cabeçalhos recebidos, continue enviando o corpo. |
| 101 | Switching Protocols | Protocolos de comutação — o handshake WebSocket. |
| 103 | Early Hints | Dicas antecipadas: pré-carregue esses recursos enquanto a resposta real é preparada. |
2xx — Sucesso
5A solicitação foi recebida, compreendida e aceita.
| Código | Frase de motivo | O que significa |
|---|---|---|
| 200 | OK | Sucesso, com um corpo. |
| 201 | Created | Criado.Deve levar um cabeçalho Location apontando para o novo recurso. |
| 202 | Accepted | Aceito para processamento, que ainda não ocorreu. |
| 204 | No Content | Sucesso, e deliberadamente sem corpo.A resposta certa para um DELETE, ou um save sem nada para retornar. |
| 206 | Partial Content | Conteúdo parcial — a resposta a um pedido de Range. Downloads retomáveis. |
3xx — Redirecionamento
6O recurso está em outro lugar, ou sua cópia em cache ainda é boa.
| Código | Frase de motivo | O que significa |
|---|---|---|
| 301 | Moved Permanently | Movido permanentemente. Atualize seus links; caches podem manter isso para sempre. |
| 302 | Found | Encontrado — um redirecionamento temporário.Amplamente implementado como trocar o método para GET, que 307 corrige. |
| 303 | See Other | Ver outro: busque o resultado com GET. O redirecionamento após um POST de formulário. |
| 304 | Not Modified | Não modificado — sua cópia em cache está atual. Enviado sem corpo. |
| 307 | Temporary Redirect | Redirecionamento temporário, método e corpo preservados. |
| 308 | Permanent Redirect | Redirecionamento permanente, método e corpo preservados. |
4xx — Erro do cliente
14A solicitação é o problema. Repeti-la inalterada falhará novamente.
| Código | Frase de motivo | O que significa |
|---|---|---|
| 400 | Bad Request | O servidor não conseguiu analisar a solicitação. |
| 401 | Unauthorized | Não autenticado — o servidor não sabe quem você é.Nomeado Unauthorized, mas significa não autenticado. Deve incluir WWW-Authenticate. |
| 403 | Forbidden | Autenticado e ainda não permitido. Credenciais melhores não ajudarão. |
| 404 | Not Found | Nenhum recurso assim, e o servidor não dirá se já houve um. |
| 405 | Method Not Allowed | Método errado para este URL.Deve listar aqueles que funcionam em um cabeçalho Allow. |
| 406 | Not Acceptable | Nada disponível em um formato que seu cabeçalho Accept aceitará. |
| 409 | Conflict | Entra em conflito com o estado atual — uma edição contra uma versão obsoleta. |
| 410 | Gone | Desaparecido: existiu e foi deliberadamente removido. Mais forte que 404. |
| 413 | Content Too Large | O corpo é maior que o servidor aceita. |
| 415 | Unsupported Media Type | O servidor não lida com este Content-Type. |
| 418 | I'm a teapot | Sou uma chaleira. Uma piada de Páscoas de Abril de 1998, permanentemente reservada. |
| 422 | Unprocessable Content | Analisado corretamente, conteúdo inválido — um campo ausente, um valor ruim. |
| 429 | Too Many Requests | Taxa limitada.Procure por Retry-After antes de retentar, e recue exponencialmente. |
| 451 | Unavailable For Legal Reasons | Bloqueado por razões legais. O número é uma referência a Fahrenheit 451. |
5xx — Erro do servidor
6A solicitação pode ser adequada. Estes são aqueles que valem a pena retentar.
| Código | Frase de motivo | O que significa |
|---|---|---|
| 500 | Internal Server Error | Um erro não tratado no servidor. Nada para corrigir do seu lado. |
| 501 | Not Implemented | O servidor não implementa este método. |
| 502 | Bad Gateway | Um proxy chegou ao servidor upstream e obteve algo inutilizável. |
| 503 | Service Unavailable | Deliberadamente não servindo — sobrecarregado ou em manutenção.O status que deve carregar Retry-After. |
| 504 | Gateway Timeout | Um proxy desistiu de esperar pelo servidor upstream. |
| 505 | HTTP Version Not Supported | A versão HTTP na solicitação não é suportada. |