,
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!!!