HTTP Status Codes

,http status code

 

Olá, Devs!!!

Quando navegamos na web, frequentemente interagimos com diversos HTTP Status Codes, mesmo que indiretamente. Dessa forma, esses códigos atuam como pontes de comunicação entre servidores e usuários, informando o resultado de uma solicitação.

Além disso, dividimos os HTTP Status Codes em classes, baseando-se no primeiro dígito do código. Por exemplo, cada classe representa uma categoria de resposta. A seguir, listarei os status codes mais comuns e explicarei brevemente cada um:

1. Códigos de Resposta Informativos (1xx)

  • 100 – Continue: O servidor recebeu os headers da solicitação e o cliente deve continuar enviando o corpo da requisição.
  • 101 – Switching Protocols: O servidor concorda em alterar o protocolo conforme solicitado pelo cliente.
  • 102 – Processing (WebDAV): O servidor precisa de mais tempo para processar a solicitação, mas quer informar ao cliente que ele ainda está ativo.

2. Códigos de Resposta de Sucesso (2xx)

  • 200 – OK: Solicitação bem-sucedida. A resposta exata depende do método HTTP usado.
  • 201 – Created: A solicitação foi bem-sucedida e um recurso foi criado como resultado.
  • 202 – Accepted: O servidor aceitou a solicitação para processamento, mas ainda não a concluiu.
  • 203 – Non-Authoritative Information: A solicitação foi bem-sucedida, mas as informações retornadas podem ser de outra fonte.
  • 204 – No Content: A solicitação obteve sucesso, mas a resposta não contém conteúdo a enviar.
  • 205 – Reset Content: A solicitação foi bem-sucedida e o cliente deve resetar a visualização do documento.
  • 206 – Partial Content: O servidor está enviando apenas uma parte dos recursos devido a um cabeçalho de intervalo enviado pelo cliente.
  • 207 – Multi-Status: Resposta que pode conter múltiplos códigos de status para múltiplas operações independentes.
  • 208 – Already Reported (WebDAV): Utilizado para evitar que um cliente receba informações duplicadas.
  • 226 – IM Used: O servidor transformou ou manipulou a resposta a uma solicitação GET para o recurso a partir da representação original.

3. Códigos de Redirecionamentos (3xx)

  • 300 – Multiple Choices: Existem várias opções que um agente de usuário pode seguir.
  • 301 – Moved Permanently: Uma nova URL agora possui o recurso solicitado, que foi movido permanentemente.
  • 302 – Found: Diz ao cliente para procurar (navegar) outro URL. O recurso foi temporariamente movido, mas será realocado de volta no futuro.
  • 303 – See Other: O servidor está redirecionando o agente do usuário para um recurso diferente. A resposta pode ser encontrada em outra URL.
  • 304 – Not Modified: O recurso permanece sem modificações, e o cliente deve utilizar a versão em cache.
  • 305 – Use Proxy: O recurso solicitado está disponível apenas por meio de um proxy, cujo endereço é fornecido na resposta. Por motivos de segurança, muitos clientes HTTP (como Mozilla Firefox e Internet Explorer ) não obedecem a este código de status.
  • 307 – Temporary Redirect: Outra URL recebeu temporariamente o recurso, mas a mesma solicitação original deve acessá-lo.
  • 308 – Permanent Redirect: Similar ao 301, mas indica que não se deve alterar o método e o corpo da solicitação.

4. Códigos de Erro do Cliente (4xx)

  • 400 – Bad Request: A solicitação está formatada incorretamente ou o servidor não pôde entendê-la.
  • 401 – Unauthorized: O cliente precisa se autenticar para obter a resposta.
  • 402 – Payment Required: Reservado para uso futuro.
  • 403 – Forbidden: O servidor entendeu a solicitação, mas se recusa a autorizá-la. O cliente não tem direitos de acesso ao recurso.
  • 404 – Not Found: O recurso solicitado não pôde ser encontrado no servidor.
  • 405 – Method Not Allowed: O recurso solicitado não suporta o método de solicitação usado.
  • 406 – Not Acceptable: O servidor não pode produzir uma resposta que corresponda aos critérios dados na solicitação.
  • 407 – Proxy Authentication Required: Semelhante ao 401, mas o cliente precisa se autenticar para usar um proxy.
  • 408 – Request Timeout: O servidor não pôde esperar a solicitação do cliente.
  • 409 – Conflict: Um conflito com o estado atual do recurso de destino impediu a conclusão da solicitação.
  • 410 – Gone: O recurso de destino não está mais disponível no servidor de origem. O recurso foi removido permanentemente.
  • 411 – Length Required: O servidor exige que o cliente especifique o tamanho da solicitação.
  • 412 – Precondition Failed: Os cabeçalhos da solicitação não atenderam às condições dadas.
  • 413 – Payload Too Large: O servidor se recusa a processar a solicitação porque é maior do que o servidor pode ou é capaz de processar.
  • 414 – URI Too Long: A URI da solicitação é muito longa.
  • 415 – Unsupported Media Type: O formato de mídia dos dados da solicitação é incompatível com o servidor.
  • 416 – Range Not Satisfiable: O intervalo especificado na solicitação não pode ser satisfeito.
  • 417 – Expectation Failed: Pelo menos um dos servidores de entrada não atendeu à expectativa fornecida no campo de Expect header da solicitação.

5. Códigos de Erro do Servidor (5xx)

  • 500 – Internal Server Error: O servidor encontrou um erro e não pode concluir a solicitação.
  • 501 – Not Implemented: O servidor não reconhece o método de solicitação ou não tem capacidade de atender a solicitação.
  • 502 – Bad Gateway: Indica que o servidor, enquanto atuava como gateway ou proxy, recebeu uma resposta inválida do servidor Upstream.
  • 503 – Service Unavailable: O servidor não está pronto para lidar com a solicitação.
  • 504 – Gateway Timeout: O servidor estava agindo como um gateway ou proxy e não recebeu uma resposta a tempo.
  • 505 – HTTP Version Not Supported: O servidor não suporta a versão do protocolo HTTP usada na solicitação.

 

Em resumo, consideramos os HTTP Status Codes como ferramentas cruciais na era digital. Primeiramente, eles orientam e informam, além de facilitar a comunicação entre servidores e usuários. Isso resulta em uma navegação mais fluída e eficaz. Ao entendermos esses códigos, não só melhoramos nossa experiência na web, como também tornamos a resolução de problemas menos desafiadora.

 

Até mais!!!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *