Os códigos de status HTTP (HyperText Transfer Protocol) são respostas padrão dadas por servidores web a pedidos feitos por clientes (normalmente navegadores). Eles indicam se uma requisição HTTP foi bem-sucedida, se houve um redirecionamento, um erro, etc. No HTTP/1.1, os códigos de status são classificados em cinco categorias principais:
-
Códigos 1xx (Informativos):
- 100 Continue: O servidor recebeu parte da solicitação e o cliente pode continuar a enviar o restante.
- 101 Switching Protocols: O servidor está mudando para o protocolo solicitado pelo cliente.
- 102 Processing: O servidor aceitou a solicitação, mas ainda não completou a ação.
-
Códigos 2xx (Sucesso):
- 200 OK: A solicitação foi bem-sucedida.
- 201 Created: A solicitação foi bem-sucedida e um novo recurso foi criado.
- 202 Accepted: A solicitação foi aceita para processamento, mas o processamento ainda não foi concluído.
- 203 Non-Authoritative Information: A solicitação foi bem-sucedida, mas as informações retornadas são de uma fonte não original.
- 204 No Content: A solicitação foi bem-sucedida, mas não há conteúdo para retornar.
- 205 Reset Content: A solicitação foi bem-sucedida, mas o cliente deve redefinir a visualização do documento.
- 206 Partial Content: O servidor está enviando uma parte do recurso devido a um cabeçalho de intervalo.
-
Códigos 3xx (Redirecionamento):
- 300 Multiple Choices: Existem várias opções possíveis para a solicitação.
- 301 Moved Permanently: O recurso solicitado foi movido permanentemente para um novo URL.
- 302 Found: O recurso solicitado foi encontrado em um URL diferente temporariamente.
- 303 See Other: A resposta pode ser encontrada em um URL diferente, usando o método GET.
- 304 Not Modified: O recurso solicitado não foi modificado desde a última solicitação.
- 305 Use Proxy: O recurso solicitado deve ser acessado através de um proxy.
- 307 Temporary Redirect: O recurso foi temporariamente movido para um URL diferente, mas o método HTTP não deve mudar.
- 308 Permanent Redirect: O recurso foi permanentemente movido para um URL diferente.
-
Códigos 4xx (Erro do Cliente):
- 400 Bad Request: A solicitação não pode ser processada devido a uma sintaxe inválida.
- 401 Unauthorized: A autenticação é necessária e falhou ou não foi fornecida.
- 402 Payment Required: Reservado para uso futuro.
- 403 Forbidden: O servidor entendeu a solicitação, mas se recusa a autorizá-la.
- 404 Not Found: O servidor não encontrou o recurso solicitado.
- 405 Method Not Allowed: O método HTTP usado não é permitido para o recurso solicitado.
- 406 Not Acceptable: O recurso solicitado só pode gerar conteúdo não aceitável de acordo com os cabeçalhos Accept enviados na solicitação.
- 407 Proxy Authentication Required: O cliente deve se autenticar com o proxy.
- 408 Request Timeout: O servidor esgotou o tempo de espera para a solicitação do cliente.
- 409 Conflict: A solicitação não pôde ser concluída devido a um conflito com o estado atual do recurso.
- 410 Gone: O recurso solicitado não está mais disponível e não há um endereço de redirecionamento.
- 411 Length Required: O servidor exige um cabeçalho Content-Length na solicitação.
- 412 Precondition Failed: Uma condição prévia dada nos cabeçalhos da solicitação falhou.
- 413 Payload Too Large: A entidade da solicitação é maior do que o servidor pode ou está disposto a processar.
- 414 URI Too Long: O URI solicitado é maior do que o servidor pode processar.
- 415 Unsupported Media Type: O formato de mídia da solicitação não é suportado pelo servidor.
- 416 Range Not Satisfiable: O intervalo especificado nos cabeçalhos Range da solicitação não pode ser satisfeito.
- 417 Expectation Failed: O servidor não pode atender aos requisitos do cabeçalho Expect da solicitação.
- 418 I'm a teapot: Um código de status de piada definido pelo RFC 2324, indicando que o servidor é um bule de chá.
- 421 Misdirected Request: A solicitação foi direcionada a um servidor que não pode produzir uma resposta.
- 422 Unprocessable Entity: A solicitação foi bem-formada, mas não pode ser seguida devido a erros semânticos.
- 423 Locked: O recurso acessado está bloqueado.
- 424 Failed Dependency: A solicitação falhou devido a falha em uma solicitação anterior.
- 425 Too Early: O servidor não deseja arriscar processar uma solicitação que pode ser repetida.
- 426 Upgrade Required: O cliente deve atualizar para um protocolo diferente.
- 428 Precondition Required: O servidor requer que a solicitação seja condicional.
- 429 Too Many Requests: O cliente enviou muitas solicitações em um curto período de tempo.
- 431 Request Header Fields Too Large: Campos de cabeçalho da solicitação são muito grandes.
- 451 Unavailable For Legal Reasons: O recurso foi bloqueado por razões legais.
-
Códigos 5xx (Erro do Servidor):
- 500 Internal Server Error: O servidor encontrou uma condição inesperada que o impediu de atender à solicitação.
- 501 Not Implemented: O servidor não tem a funcionalidade necessária para atender à solicitação.
- 502 Bad Gateway: O servidor, ao atuar como um gateway ou proxy, recebeu uma resposta inválida do servidor upstream.
- 503 Service Unavailable: O servidor está temporariamente indisponível, geralmente devido a manutenção ou sobrecarga.
- 504 Gateway Timeout: O servidor, ao atuar como um gateway ou proxy, não recebeu uma resposta no tempo esperado do servidor upstream.
- 505 HTTP Version Not Supported: O servidor não suporta a versão do protocolo HTTP usada na solicitação.
- 506 Variant Also Negotiates: O servidor tem um erro de configuração interna e não pode escolher uma variante apropriada.
- 507 Insufficient Storage: O servidor não pode armazenar a representação necessária para concluir a solicitação.
- 508 Loop Detected: O servidor detectou um loop infinito ao processar uma solicitação.
- 510 Not Extended: As extensões adicionais necessárias para o processamento da solicitação não foram atendidas.
- 511 Network Authentication Required: O cliente precisa se autenticar para ganhar acesso à rede.