h3zord / github-blog

0 stars 0 forks source link

HTTP Status Code: lista completa dos 61 códigos! #2

Open h3zord opened 1 year ago

h3zord commented 1 year ago

Os HTTP Status Code (ou Códigos de Status HTTP) servem para interpretarmos se uma requisição a um serviço externo ocorreu corretamente ou houve algum problema.

Em algum momento da sua jornada como pessoa dev, certamente você trabalhará com consumo ou envio de dados externos de sua aplicação, sejam eles vindo de uma API ou de outro tipo de serviço da internet. Esses dados possuem um código de status para verificar se a requisição ocorreu corretamente ou apresentou algum problema durante o trabalho de manipulação — chamado de HTTP Status Code.

O que são os HTTP Status Codes?

Os códigos de status HTTP são respostas de três dígitos que um servidor retorna a pedido de clientes. Esse pedido pode ser o acesso de um site em um navegador, por exemplo. Existem cinco classes de códigos de status e cada classe transmite um tipo diferente de mensagem.

Por isso, as pessoas desenvolvedoras podem ter dificuldades em interpretar o que cada código de status significa. No entanto, não é necessário decorar todos os códigos e seus significados. A seguir, confira uma lista completa dos HTTP Status Code para consultar sempre que precisar.

Lista completa dos HTTP Status Code!

1. Informational 1xx (Respostas de informação)

Os códigos de status HTTP de nível 1xx informam à pessoa usuária que sua solicitação foi recebida, mas que ainda está sendo processada.

Veja alguns exemplos:

1.1 Código 100: Continuar

O código de status 100 informa que uma parte da solicitação foi recebida sem problemas. Neste caso, está tudo correto, mas a solicitação ainda está em processo.

1.2 Código 101: Protocolos de substituição

O código de status 101 indica que o servidor permite que a solicitação cliente seja alternada para um protocolo HTTP diferente por meio do campo de cabeçalho chamado Upgrade.

1.3 Código 102: Em Processamento

O código de status 102 é um código de resposta temporário, que informa à pessoa solicitante que, o servidor aceitou a solicitação dele, mas não completou o pedido.

1.4 Códigos 103 – 199

Os códigos do número 103 até o número 199 ainda não estão atribuídos a nenhuma resposta.

2. Success 2xx (Respostas de sucesso)

Os HTTP Status Code de nível 2xx indicam que a solicitação do servidor cliente foi recebida e processada com sucesso.

Por exemplo: quando uma requisição aos dados de uma API ocorre de forma bem sucedida. Vejamos alguns códigos pertencentes a essa classe:

2.1 Código 200: Requisição bem sucedida

Um dos HTTP Status Code mais utilizados e um dos mais comuns, o código de status 200 indica que uma solicitação foi recebida, processada e bem-sucedida.

2.2 Código 201: Criado com sucesso

O HTTP Status Code 201 é similar ao código 200. Porém em seu retorno entendemos que a requisição foi bem sucedida também que um ou mais recursos foram criados no processo.

2.3 Código 202: Aceito

O código de status 202 significa que o servidor recebeu e aprovou uma solicitação de processamento, porém não finalizou.

2.4 Código 203: Informações não autoritárias

O código de status 203 é normalmente usado por um proxy HTTP ou terceiros. O proxy, que fica na camada intermediária entre cliente e servidor, pode alterar as respostas antes que elas cheguem aos servidores clientes finais.

2.5 Código 204: Ausência de conteúdo

Um código de status 204 indica que a resposta da solicitação feita foi entregue com êxito pelo servidor e preenchida. Nesse caso, não é necessário enviar nenhum conteúdo adicional no corpo da resposta.

2.6 Código 205: Redefinição do conteúdo

Esse HTTP Status Code indica que o servidor enviou a solicitação com sucesso e exige que o agente da pessoa usuária volte a visualização para seu estado original.

2.7 Código 206: Conteúdo parcial

Esse HTTP Status Code pode ser usado para uma grande variedade de solicitações e, normalmente, indica que o servidor recebeu uma solicitação parcial de um recurso.

2.8 Código 207: Vários status

O código de status 207 indica que muitas solicitações ocorreram e que o status de cada solicitação pode ser visto no corpo da resposta.

2.9 Código 208: Reportado

O código de status 208 permite que o navegador indique ao servidor que um recurso já foi bem-sucedido anteriormente.

2.10 Códigos 209-225

Os códigos do número 209 até o número 255 ainda não estão atribuídos a nenhuma resposta.

2.11 Código 226: Manipulações de instância utilizadas (IM)

Um código de status 226 é usado para indicar que um servidor finalizou uma solicitação para um recurso, mas a resposta é a exibição de uma ou várias manipulações de instância empregadas à instância atual.

2.12 Códigos 227-299

Os códigos do número 227 até o número 299 ainda não estão atribuídos a nenhuma resposta.

3. Redirection 3xx (Redirecionamentos)

Os HTTP Status Code 3xx são utilizados ​​quando há a necessidade de ser feito um redirecionamento na URL de uma aplicação devido aos sites mudarem com o passar do tempo. Observemos alguns códigos pertencentes a essa classe:

3.1 Código 300: Várias escolhas

Indica várias opções para o recurso a partir do qual pode-se escolher (via negociação de conteúdo). Por exemplo, este código pode ser usado para apresentar várias opções de formato de vídeo.

3.2 Código 301: Mudou-se permanentemente

Quando a URL de um site é alterada e todas as solicitações futuras devem ser direcionadas para a URL nova.

3.3 Código 302: Encontrado

O HTTP Stauts Code 302 significa que o URI da solicitação foi mudado temporariamente e, como alterações podem ser feitas no URI no futuro, o URI de solicitação efetiva deve ser usado para solicitações futuras.

3.4 Código 303: Ver Outros

O HTTP Stauts Code 303 é enviado pelo servidor para direcionar o servidor cliente a obter o recurso solicitado em outro URI com uma solicitação GET.

3.5 Código 304: Não modificado

Código que indica que a resposta não foi alterada conforme as condições do cliente — por exemplo, no caso de usar o cache do navegador. Isso significa que o servidor cliente pode continuar a usar a versão em cache já presente da resposta.

3.6 Código 305: Usar proxy

Esse HTTP Status Code orienta a pessoa usuária a se conectar a um proxy e, em seguida, repetir a mesma solicitação. Contudo, já não se utiliza mais esse código 305 por questões envolvendo segurança.

3.7 Código 306: Não utilizado

Por questões de segurança, não é um código que está sendo utilizado atualmente. Era responsável por informar a pessoa usuária que as solicitações consecutivas devem usar o proxy especificado.

3.8 Código 307: Redirecionamento Temporário

Similar ao código 302, o HTTP Status Code 307 é enviado pelo servidor para direcionar a pessoa usuária para o recurso solicitado em outro URI. O método de solicitação, entretanto, não precisa ser mudado.

3.9 Código 308: Redirecionamento Permanente

O HTTP Status Code 308 significa que o recurso solicitado recebeu um novo URI de forma permanente e que, futuramente, as referências ao recurso devem ser feitas utilizando um dos URIs incluídos.

3.10 Códigos 309-399 Os códigos do número 309 até o número 399 ainda não estão atribuídos a nenhuma resposta.

4. Client Error 4xx (Erros de cliente)

Um código de status 4xx Client Error significa que o site ou a página não pôde ser acessado e a página está indisponível ou a solicitação contém uma sintaxe incorreta.

Se você tem um site em sua propriedade, deve fazer o possível para evitá-los, pois isso significa que as pessoas usuárias não encontrarão o que estão procurando. Podem ser páginas que não são mais encontradas e desapareceram temporária ou permanentemente. Observaremos alguns códigos pertencentes a essa classe:

4.1 Código 400: Solicitação Inválida

O HTTP Status Code 400 significa que o servidor não conseguiu entender a solicitação devido à sintaxe inválida.

4.2 Código 401: Não autorizado

O HTTP Status Code 401 significa que a solicitação não foi aplicada porque o servidor requer autenticação da pessoa usuária.

4.3 Código 402: Pagamento Necessário

O HTTP Status Code 402 é uma resposta reservada para uso futuro. Ele foi originalmente criado para ser implementado em sistemas de pagamento digital, porém é utilizado raramente e não existe uma convenção padrão de uso.

4.4 Código 403: Proibido

O HTTP Status Code 403 significa que a solicitação da pessoa usuária foi rejeitada porque não tem direitos para acessar o conteúdo.

4.5 Código 404: Não Encontrado

Esse HTTP Status Code indica que o servidor não encontrou uma representação atual para o recurso solicitado ou está tentando ocultar sua existência de uma pessoa não autorizada.

4.6 Código 405: Método Não Permitido

Esse HTTP Status Code significa que, embora o servidor conheça o método de solicitação, o método foi desabilitado e não pode ser usado.

4.7 Código 406: Não Aceitável

Esse HTTP Status Code é enviado pelo servidor quando não encontra nenhum conteúdo seguindo os critérios fornecidos pelo agente da pessoa usuária.

4.8 Código 407: Autenticação Proxy Necessária

Esse HTTP Status Code indica que a pessoa usuária deve primeiro ser autenticada por um proxy (similar ao erro 401).

4.9 Código 408: Tempo limite de solicitação

Esse código indica que o servidor não recebeu uma solicitação completa no tempo em que se preparou para aguardar.

4.10 Código 409: Conflito

Esse HTTP Status Code indica que a solicitação não pôde ser atendida devido a um conflito com o estado atual do recurso de destino. Ele é usado em situações em que a pessoa usuária pode reenviar a solicitação após solucionar o conflito.

4.11 Código 410: Desaparecido

Código que indica que o recurso de destino foi excluído e a condição parece ser permanente.

4.12 Código 411: Comprimento Necessário

Significa que o servidor rejeitou a solicitação porque exige que o campo de cabeçalho Content-Length seja definido.

4.13 Código 412: Falha na pré-condição

Informa que o servidor não atende a uma ou mais pré-condições indicadas nos campos de cabeçalho da solicitação feita.

4.14 Código 413: Carga Muito Grande

Quando esse HTTP Status Code aparece, significa que o servidor se recusa a processar a solicitação porque a carga útil da solicitação é maior que o servidor pode ou deseja processar.

4.15 Código 414: URI muito longo

O HTTP Status Code 414 indica que o servidor está se recusando a atender a solicitação porque o destino da solicitação era mais longo do que o servidor estava disposto a interpretar.

4.16 Código 415: Tipo de mídia não suportado

O HTTP Status Code 415 significa que o servidor está rejeitando a solicitação porque não oferece suporte ao formato de mídia dos dados solicitados.

4.17 Código 416: Faixa Não Satisfável

O HTTP Status Code 416 significa que o intervalo especificado no campo de cabeçalho Range da solicitação não pode ser atendido. O motivo pode ser que o intervalo fornecido está fora do tamanho dos dados do URI de destino.

4.18 Código 417: Expectativa falhou

O HTTP Status Code 417 significa que a Expectation indicada pelo campo Expect request-header não pôde ser atendida pelo servidor.

4.19 Código 418: Eu sou um bule

O HTTP Status Code 418 (I’m a teapot) é uma anedota do Dia da Mentira de 1998: o servidor se recusa a preparar café porque é, na verdade, um bule. É entendido como um protocolo de controle de pote de café de hipertexto.

4.20 Código 421: Solicitação mal direcionada

Esse código mostra que a solicitação cliente foi direcionada a um servidor que não está configurado para produzir uma resposta.

4.21 Código 422: Entidade Não Processável

O HTTP Status Code 422 indica que o servidor não conseguiu seguir a solicitação devido a erros semânticos, embora a solicitação tenha sido bem formada.

4.22 Código 423: Bloqueado

O HTTP Status Code 423 indica que o recurso acessado está bloqueado.

4.23 Código 424: Dependência com Falha

Esse HTTP Status Code mostra que a solicitação falhou devido à falha de uma solicitação anterior.

4.24 Código 425: Cedo demais

O HTTP Status Code 425 indica que o servidor não está disposto a arriscar fazer o processamento de uma solicitação que pode ser repetida.

4.25 Código 426: Atualização Necessária

O HTTP Status Code 426 significa que, embora o servidor se recuse a executar a solicitação fornecida usando o protocolo atual, poderá realizá-la após atualização para um protocolo diferente.

4.26 Código 428: Pré-condição Necessária

O HTTP Status Code 428 significa que o servidor de origem exige que a solicitação seja condicional.

4.27 Código 429: Muitos Pedidos

Esse HTTP Status Code demonstra que foram realizadas solicitações demais.

4.28 Código 431: Campos de cabeçalho de solicitação muito grandes

Esse HTTP Status Code representa que o servidor não está disposto a processar a solicitação porque seus campos de cabeçalho são realmente muito grandes. O envio pode ser feito novamente, se os campos de cabeçalho forem reduzidos.

4.29 Código 451: Indisponível por motivos legais

Esse código significa que a pessoa usuária solicitou um recurso ilegal (como páginas e sites bloqueados pelo governo).

5. Server Error 5xx (Erros de servidor)

Um código de status de erro do servidor 5xx significa que, embora a solicitação pareça válida, o servidor não pôde concluir a solicitação. Se você estiver enfrentando erros de servidor 5xx em seu site, verifique imediatamente seu servidor. Vejamos alguns exemplos desses tipos de erros:

5.1 Código 500: Internal Server Error

O HTTP Status Code 500 indica que o servidor encontrou uma situação que não sabe como lidar.

5.2 Código 501: Não implementado

O HTTP Status Code 501 significa que a solicitação não pode ser tratada porque não é suportada pelo servidor.

5.3 Código 502: Bad Gateway

O HTTP Status Code 502 indica que o servidor recebeu uma resposta inválida enquanto trabalhava como gateway para lidar com a resposta.

5.4 Código 503: Serviço Indisponível

O código de resposta 503 significa que o servidor não está pronto para lidar com a solicitação. Esta é uma ocorrência comum quando o servidor está inativo para manutenção ou está sobrecarregado.

5.5 Código 504: Gateway Timeout

O HTTP Status Code 504 indica que o servidor que atua como gateway não conseguiu obter um tempo de resposta.

5.6 Código 505: HTTP Version Not Supported

O código 505 significa que a versão do HTTP usada na solicitação não é suportada pelo servidor.

5.7 Código 506: Variant Also Negotiates

Esse HTTP Status Code indica que o servidor tem o seguinte erro de configuração interna: o recurso de variante escolhido está configurado para se envolver em negociação transparente.

5.8 Código 507: Armazenamento insuficiente

O HTTP Status Code 507 significa que o método não pôde ser executado no recurso porque o servidor não pode armazenar a representação que seria necessária para concluir a solicitação com êxito.

5.9 Código 508: Loop Detectado

O HTTP Status Code 508 significa que o servidor detectou um loop infinito durante o processamento da solicitação.

5.10 Código 510: Não Estendido

O HTTP Status Code 510 indica serem necessárias mais extensões para que o servidor possa atender à solicitação.

5.11 Código 511: Network Authentication Required

O HTTP Status Code 511 indica que a pesosa usuária precisa se autenticar para obter acesso à rede.

Qual a relação entre HTTP Status Code e o SEO?

Os códigos de status HTTP que você está recebendo servem para que você entenda se o que está fazendo em seu site está dando certo para que ele cresça, ou não.

O objetivo do SEO é direcionar o tráfego orgânico que direcionará as mensagens que você deseja transmitir em sua aplicação, seja ela direcionada para qualquer público. Contudo, para que esse direcionamento ocorra com êxito, é necessário que seu conteúdo seja acessível aos rastreadores dos mecanismos de pesquisa.

Quando as pessoas solicitam um conteúdo que está disponível em seu site, o desejável é que os HTTP status de sucesso (da classe 200) sejam retornados. Se, por acaso, forem retornados códigos de níveis 4xx ou 5xx, isso significa que há algo errado e que, muito provavelmente, seu site está sendo penalizado pelos motores de busca por infringir as boas práticas de SEO.

Por exemplo, imagine que você tenha uma aplicação que sempre apresenta o erro 404 ou o erro 503 quando pessoas tentam acessar. Além de reduzir o número de navegações em sua página e prejudicar a experiência da pessoa usuária, seu site ficará mal ranqueado nos motores de busca. Por isso, é preciso resolver esse tipo de erro o mais rápido possível, quando ocorrer.

Ou seja, a relação do HTTP Status Code com o SEO é que, se o retorno da solicitação do conteúdo de uma aplicação diferir do status 200, ela terá um baixo ranqueamento nos motores de busca, além de seu conteúdo não ser indexado corretamente no tráfego de informações.

Como visualizar os HTTP Status Code no Search Console?

O recurso de inspeção de URL no Google Search Console permite solicitar respostas HTTP. Após solicitar um URL, abra o “Painel de Cobertura” ou “Coverage Panel”. Dentro disso, a “busca de página” define a resposta HTTP.

Quando solicitamos a URL https://www.google.com, a ferramenta retorna uma resposta de sucesso (Successful) que representa o código de status 200 Ok.

Se for requisitada uma página que contenha uma URL inexistente, o retorno será o seguinte, com o erro 404 de não encontrado:

Como resolver os erros 500 e 502 do HTTP Status Code?

Erro HTTP Status Code 500 – Internal Server Error

Se você tentar visitar um site e ver uma mensagem “500 Internal Server Error”, significa que algo deu errado com o site. Ou seja, esse não é um problema com seu navegador, computador ou sua conexão com a internet, mas sim o site que você está tentando visitar.

Um erro de servidor interno HTTP 500 significa que seu servidor da Web está com problemas, mas não consegue identificar o erro específico ou sua causa raiz. Quando isso acontecer, seu site exibirá uma página geral de erro interno do servidor para as pessoas visitantes do site.

Para resolver esse problema, clique aqui para ver o passo a passo de como proceder com o erro 500.

Erro HTTP Status Code 502 – Bad Gateway Error

Um erro 502 Bad Gateway Error significa que o servidor web ao qual você se conectou está agindo como um proxy para retransmitir informações de outro servidor, mas obteve uma resposta ruim desse outro servidor.

É chamado de erro 502 porque esse é o código de status HTTP que o servidor da Web usa para descrever esse tipo de erro. Na grande maioria das vezes, isso é apenas um erro no lado do servidor das coisas sobre as quais você não poderá fazer nada. Às vezes, é um erro temporário; às vezes não é.

Para resolver esse problema, clique aqui para ver o passo a passo de como proceder com o erro 502.

Conclusão

Os códigos de status HTTP são muito importantes, pois determinarão se suas requisições a serviços externos foram bem sucedidas. Caso não sejam, os códigos auxiliam a analisar por qual motivo houve algum problema. Eles também informarão se sua aplicação está passando por problemas no servidor onde ela está hospedada.

Esses códigos podem apresentar respostas de sucesso, de redirecionamento, de erro interno no servidor, erros do cliente ou respostas que sejam meramente informativas. Essas classes só vão até o 5xx, pois, não existe nenhuma mensagem com classes iguais ou superiores a 6xx.

h3zord commented 1 year ago

Este artigo foi escrito por Lucas Marchiori e copiado do blog da Trybe! https://blog.betrybe.com/