Back

Eu conheço o 404, mas qual é a diferença entre 401 e 403? (Códigos de status HTTP)

Você provavelmente já encontrou uma página 404 Not Found enquanto navegava na web.

Este número é chamado de Código de Status HTTP, um protocolo padrão para o servidor comunicar o resultado da solicitação de um cliente (navegador).

Aqui está um resumo dos códigos de status essenciais que todo desenvolvedor deve conhecer.

1. Categorias de Códigos de Status

Os códigos de status são divididos em 5 classes com base em seu primeiro dígito.

  • 1xx (Informativo): Solicitação recebida, continuando o processo.
  • 2xx (Bem-sucedido): A ação foi recebida, entendida e aceita com sucesso.
  • 3xx (Redirecionamento): Ação adicional deve ser tomada para completar a solicitação.
  • 4xx (Erro do Cliente): A solicitação contém sintaxe incorreta ou não pode ser atendida.
  • 5xx (Erro do Servidor): O servidor falhou ao atender a uma solicitação aparentemente válida.

2. Sucesso (2xx)

  • 200 OK: A resposta padrão para solicitações HTTP bem-sucedidas.
  • 201 Created: A solicitação foi atendida e resultou na criação de um novo recurso.
  • 204 No Content: O servidor processou com sucesso a solicitação e não está retornando nenhum conteúdo.

3. Erros do Cliente (4xx)

O par mais confuso é 401 vs 403.

  • 400 Bad Request: O servidor não pode ou não processará a solicitação devido a um erro aparente do cliente (por exemplo, sintaxe de solicitação malformada).
  • 401 Unauthorized: "Não autenticado". Requer login. (Você não tem um cartão de identificação.)
  • 403 Forbidden: "Não autorizado". Você está logado, mas não tem permissão. (Você tem um cartão de identificação, mas nenhum passe de acesso.)
  • 404 Not Found: O recurso solicitado não pôde ser encontrado.

4. Erros do Servidor (5xx)

  • 500 Internal Server Error: Uma mensagem de erro genérica, dada quando uma condição inesperada foi encontrada.
  • 502 Bad Gateway: O servidor estava agindo como um gateway ou proxy e recebeu uma resposta inválida do servidor upstream.
  • 503 Service Unavailable: O servidor está atualmente incapaz de lidar com a solicitação devido a uma sobrecarga temporária ou manutenção.

Conclusão

Os Códigos de Status HTTP são a linguagem de comunicação entre cliente e servidor.

Retornar o código de status apropriado é fundamental para um bom design de API e fundamental para reduzir o tempo de depuração. Não retorne apenas 200 OK para tudo!

TechHTTPWebNetwork

Explore ferramentas relacionadas

Experimente estas ferramentas gratuitas do Pockit