Os códigos de status das respostas HTTP indicam se uma requisição HTTP foi corretamente concluída, informando ao cliente a atual situação do processamento da solicitação realizada.
São mensagens padrões emitidas por um servidor, que ficam incorporadas no cabeçalho HTTP de uma página e podem ser acessadas por meio das ferramentas de inspeção do navegador ou de um verificador de cabeçalho HTTP . Caso ocorra algum erro no processamento da requisição, o código ficará visível no navegador no lugar da resposta esperada.
Existem vários tipos de respostas HTTP , que são divididos em cinco classes. Cada uma representa um tipo de comunicação que acontece entre o servidor e o cliente, como indicado a seguir:
- 100 a 199 (Informativo) – o servidor recebeu a solicitação e a está processando.
- 200 a 299 (Confirmação) – o servidor recebeu a solicitação e enviou de volta a resposta esperada.
- 300 a 399 (Redirecionamento) – indica que algo a mais precisa ser feito ou precisou ser feito para completar a solicitação.
- 400 a 499 (Erro do cliente) – informa que a solicitação não pode ser concluída ou contém a sintaxe incorreta.
- 500 a 599 (Erro no servidor) – o servidor falhou ao concluir a solicitação.
Como indicado acima, o código de status HTTP consiste em três dígitos: o primeiro varia de um a cinco e indica o tipo de status; já o segundo e o terceiro dígitos referem-se aos códigos de status no intervalo do primeiro dígito.
A IANA (Internet Assigned Numbers Authority) mantém o registro, a descrição e a referência de 63 códigos oficiais. Especificamente quanto aos códigos mais recorrentes e importantes, estes são os seus significados:
- 102 Processing (Processando) – o servidor recebeu e está processando a requisição, mas nenhuma resposta está disponível ainda.
- 200 Ok – a requisição foi bem-sucedida.
- 204 No Content (Sem Conteúdo) – o servidor processou a solicitação com sucesso, mas não possui nenhum conteúdo para ser adicionado à resposta.
- 301 Moved Permanently (Movido Permanentemente) – o recurso solicitado foi movido permanentemente e está disponível em uma nova URI. Ele deve ser acessado por ela em novas requisições.
- 400 Bad Request (Requisição Inválida) – o servidor não pode retornar uma resposta devido a um erro nas informações enviadas pelo cliente.
- 401 Unauthorized (Não autorizado) – o servidor não conseguiu processar a solicitação, porque as credenciais de autenticação fornecidas são inválidas.
- 402 Payment Required (Pagamento Necessário) – o servidor se recusou a processar a solicitação, pois o usuário não efetuou o pagamento.
- 403 Forbidden (Proibido) – o servidor entendeu a solicitação do cliente, mas o acesso a esse recurso é proibido, seja devido a permissões inadequadas, à autenticação inválida, a restrições de IP, entre outros motivos.
- 404 Not Found (Não Encontrado) – o servidor não encontrou uma representação atual do recurso solicitado.
- 500 Internal Server Error (Erro do Servidor Interno) – ocorreu um erro interno no servidor e a requisição não pôde ser completada.