Os códigos de status HTTP são como pequenas notas de um servidor que são colocadas em uma página da web. Eles não fazem realmente parte do conteúdo do site. Em vez disso, são mensagens do servidor informando como as coisas correram quando ele recebeu o pedido para ver uma determinada página.
Este tipo de mensagens são devolvidas sempre que o seu navegador interage com um servidor, mesmo que você não as veja. Se você é proprietário de um site ou desenvolvedor, compreender os códigos de status HTTP é fundamental. Quando eles aparecem, os códigos de status HTTP são uma ferramenta inestimável para diagnosticar e corrigir erros de configuração do site.
Este artigo introduz vários códigos de erro e status do servidor, e explica o que eles revelam sobre o que está acontecendo nos bastidores do servidor.
Vamos mergulhar!
Prefere assistir à versão em vídeo?
O que são Códigos de Status HTTP?
Sempre que você clicar em um link ou digitar uma URL e pressionar Enter, seu navegador envia um pedido ao servidor web para o site que você está tentando acessar. O servidor recebe e processa a solicitação, e depois envia de volta os recursos relevantes juntamente com um cabeçalho HTTP.
Os códigos de status HTTP são entregues ao seu navegador no cabeçalho HTTP. Enquanto os códigos de status são devolvidos toda vez que o seu navegador solicita uma página web ou recurso, na maioria das vezes você não os vê.
Normalmente é apenas quando algo corre mal que você pode ver um exibido no seu navegador. Esta é a maneira de dizer do servidor: “Alguma coisa não está bem. Aqui está um código que explica o que correu mal.”
Se você quiser ver os códigos de status que seu navegador normalmente não mostra, há muitas ferramentas diferentes que facilitam a tarefa. Estão disponíveis extensões de navegadores para plataformas de fácil desenvolvimento, como Chrome e Firefox, e há muitas ferramentas de busca de cabeçalhos baseadas na web, como o Web Sniffer.
Para ver os códigos de status HTTP com uma dessas ferramentas, procure a linha que aparece perto da parte superior do relatório que diz “Status”: HTTP/1.1″. Isto será seguido pelo código de status que foi devolvido pelo servidor.
Entendendo as Classes de Código de Status HTTP
Os códigos de status HTTP são divididos em 5 “classes”. Estes são agrupamentos de respostas que têm significados semelhantes ou relacionados. Saber o que eles são pode ajudá-lo a determinar rapidamente a substância geral de um código de status antes de você procurar seu significado específico.
As cinco classes incluem:
- 100s: Códigos informativos indicando que a solicitação iniciada pelo navegador continua.
- 200s: Códigos de sucesso retornados quando o pedido do navegador foi recebido, compreendido e processado pelo servidor.
- 300s: Códigos de redirecionamento retornados quando um novo recurso foi substituído pelo recurso solicitado.
- 400s: Códigos de erro do cliente indicando que houve um problema com o pedido.
- 500s: Os códigos de erro do servidor indicam que a solicitação foi aceita, mas que um erro no servidor impediu o cumprimento da solicitação.
Dentro de cada uma destas classes, existe uma variedade de códigos de servidor que podem ser devolvidos pelo servidor. Cada código individual tem um significado específico e único, que iremos cobrir na lista mais abrangente abaixo.
Por que os Códigos de Status HTTP e Erros Importantes para Otimização de Sites de Busca (SEO)
Os robots dos motores de busca vêem códigos de estado HTTP enquanto rastejam o seu site. Em alguns casos, estas mensagens podem influenciar se e como as suas páginas são indexadas, bem como como os motores de busca percebem a saúde do seu site.
Em geral, os códigos de status HTTP de 100 e 200 níveis não terão muito impacto no seu SEO. Eles sinalizam que tudo está funcionando como deveria no seu site, e permitem que os bots dos motores de busca continuem o seu caminho. No entanto, eles também não vão aumentar as suas classificações.
Na sua maioria, são os códigos de nível superior que importam para a SEO. As respostas de 400 e 500 níveis podem evitar que os bots rastejem e indexem as suas páginas. Muitos destes erros também podem indicar que o seu site não é de alta qualidade, possivelmente baixando a sua classificação.
Os códigos de 300 níveis têm uma relação um pouco mais complicada com SEO. A principal coisa que você precisa saber para entender seu impacto é a diferença entre redirecionamentos permanentes e temporários, que iremos cobrir com mais detalhes na seção relevante abaixo.
Em poucas palavras, no entanto, o redirecionamento permanente da equidade das ligações de ligação das ações a partir dos backlinks, mas os temporários não o fazem. Em outras palavras, quando você usa redirecionamentos temporários para páginas que se moveram, você perde a vantagem SEO de toda a construção de links que você fez.
Verificação de Códigos de Status HTTP no Google Search Console
Uma maneira de monitorar como o Google percebe os códigos de status HTTP no seu site é usar o Google Search Console. É possível visualizar os códigos de status de 300, 400 e 500 níveis no relatório Cobertura:
Esta área do seu painel de instrumentos mostra quatro tipos de conteúdo no seu site:
- Páginas que devolvem erros.
- Páginas válidas que têm avisos.
- Recursos que são válidos.
- Conteúdo excluído do índice.
Você pode encontrar páginas com códigos de status HTTP de 300, 400 e 500 níveis nas seções Excluídos, Erros ou Válidos com avisos, dependendo do tipo de código. Por exemplo, 301 redirecionamentos podem ser listados em Excluídos como Página com redirecionamento:
Os códigos de status de 400 e 500 níveis provavelmente aparecerão em Erro.
Outra maneira de visualizar os códigos de status HTTP é usando a ferramenta de inspeção URL. Se o Google não conseguir indexar uma página específica devido a um erro, você verá isso aqui:
Para mais dicas sobre a utilização da Google Search Console, consulte o nosso guia completo sobre a plataforma.
Um Guia Completo e Lista de Códigos de Status HTTP
Embora existam mais de 40 códigos de status de servidor diferentes, você provavelmente encontrará menos de uma dúzia de códigos regularmente. Abaixo, nós cobrimos os mais comuns, assim como alguns dos códigos mais obscuros que você ainda pode encontrar.
100 Códigos de status
Um código de status de 100 níveis indica que a solicitação que você fez ao servidor ainda está em andamento por algum motivo. Isto não é necessariamente um problema, é apenas informação extra para o informar do que se está a passar.
- 100: “Continuar.” Isto significa que o servidor em questão recebeu os cabeçalhos de pedido do seu navegador, e agora está pronto para que o corpo do pedido também seja enviado. Isso torna o processo de solicitação mais eficiente, pois impede que o navegador envie um pedido de corpo, mesmo que os cabeçalhos tenham sido rejeitados.
- 101: “Troca de protocolos.” O seu browser pediu ao servidor para alterar os protocolos, e o servidor cumpriu.
- 103: “Dicas iniciais.” Isto devolve alguns cabeçalhos de resposta antes que o resto da resposta do servidor esteja pronto.
200 Códigos de status
Este é o melhor tipo de código de status HTTP a receber. Uma resposta de 200 níveis significa que tudo está funcionando exatamente como deveria.
- 200: “Está tudo bem.” Este é o código que é entregue quando uma página web ou um recurso age exatamente da maneira que é esperado.
- 201: “Criado.” O servidor cumpriu o pedido do navegador e, como resultado, criou um novo recurso.
- 202: “Aceite.” O servidor aceitou o pedido do seu navegador, mas ainda está a processá-lo. O pedido pode ou não resultar em uma resposta completa.
- 203: “Informação Não Autoritária”. Este código de status pode aparecer quando um proxy está em uso. Isso significa que o servidor proxy recebeu um código de status 200 “Tudo está OK” do servidor de origem, mas modificou a resposta antes de passá-la para o seu navegador.
- 204: “Sem conteúdo”. Este código significa que o servidor processou a solicitação com sucesso, mas não vai devolver nenhum conteúdo.
- 205: “Redefinir conteúdo.” Como um código 204, isto significa que o servidor processou o pedido mas não vai devolver nenhum conteúdo. No entanto, também requer que o seu navegador reinicialize a visualização do documento.
- 206: “Conteúdo Parcial.” Você pode ver este código de status se o seu cliente HTTP (também conhecido como seu navegador) usar ‘cabeçalhos de intervalo’. Isso permite que seu navegador retome downloads em pausa, assim como dividir um download em vários streams. Um código 206 é enviado quando um cabeçalho de intervalo faz com que o servidor envie apenas parte do recurso solicitado.
300 Códigos de status
Redirecionamento é o processo usado para comunicar que um recurso foi movido para um novo local. Existem vários códigos de status HTTP que acompanham os redirecionamentos, a fim de fornecer aos visitantes informações sobre onde encontrar o conteúdo que eles estão procurando.
- 300: “Escolhas Múltiplas”. Às vezes, pode haver vários recursos possíveis com os quais o servidor pode responder para atender ao pedido do seu navegador. Um código de status 300 significa que seu navegador agora precisa escolher entre eles. Isso pode ocorrer quando há múltiplas extensões de tipo de arquivo disponíveis, ou se o servidor estiver experimentando desambiguação de sentido de palavras.
- 301: “O recurso solicitado foi movido permanentemente.” Este código é entregue quando uma página web ou recurso foi permanentemente substituído por um recurso diferente. É usado para redirecionamento permanente de URLs.
- 302: “O recurso solicitado moveu-se, mas foi encontrado.” Este código é usado para indicar que o recurso solicitado foi encontrado, mas não no local onde ele era esperado. É usado para redirecionamento temporário de URLs.
- 303: “Ver Outro.” A compreensão de um código de status 303 requer que você saiba a diferença entre os quatro métodos primários de solicitação HTTP. Essencialmente, um código 303 diz ao seu navegador que ele encontrou o recurso solicitado pelo seu navegador via POST, PUT, ou DELETE. No entanto, para recuperá-lo usando GET, você precisa fazer o pedido apropriado para um URL diferente daquele que você usou anteriormente.
- 304: “O recurso solicitado não foi modificado desde a última vez que você o acessou.” Este código diz ao navegador que os recursos armazenados no cache do navegador não foram alterados. É usado para acelerar a entrega de páginas web, reutilizando recursos previamente descarregados.
- 307: “Redirecionar Temporariamente.” Este código de status substituiu o 302 “Encontrado” como a ação apropriada quando um recurso foi temporariamente movido para uma URL diferente. Ao contrário do código de status 302, ele não permite que o método HTTP seja alterado.
- 308: “Redirecionamento Permanente.” O código de status 308 é o sucessor do código 301 “Movido Permanentemente”. Ele não permite que o método HTTP seja alterado e indica que o recurso solicitado está agora permanentemente localizado em uma nova URL.
400 Códigos de status
No nível 400, os códigos de status HTTP começam a se tornar problemáticos. Estes são códigos de erro que especificam que existe uma falha no seu browser e/ou pedido.
- 400: “Mau pedido.” O servidor não pode retornar uma resposta devido a um erro no lado do cliente. Veja o nosso guia para resolver este erro.
- 401: “Não Autorizado” ou “Autorização Necessária”. Isto é devolvido pelo servidor quando o recurso alvo não possui credenciais de autenticação válidas. Você pode ver isto se tiver configurado a autenticação HTTP básica usando htpasswd.
- 402: “Pagamento Requerido”. Originalmente, este código foi criado para ser usado como parte de um sistema de dinheiro digital. No entanto, esse plano nunca foi concretizado. Em vez disso, é usado por uma variedade de plataformas para indicar que um pedido não pode ser atendido, geralmente devido à falta dos fundos necessários. Exemplos comuns incluem:
- Você atingiu seu limite diário de solicitações para a API do Google Developers.
- Você não pagou a sua Shopify e a sua loja foi temporariamente desativada.
- O seu pagamento via Stripe falhou, ou Stripe está a tentar evitar um pagamento fraudulento.
- 403: “O acesso a esse recurso é proibido.” Este código é devolvido quando um usuário tenta acessar algo que não tem permissão para visualizar. Por exemplo, tentar chegar ao conteúdo protegido por senha sem entrar no sistema pode produzir um erro 403.
- 404: “O recurso solicitado não foi encontrado”. Esta é a mensagem de erro mais comum de todas elas. Este código significa que o recurso solicitado não existe, e o servidor não sabe se ele alguma vez existiu.
- 405: “Método não permitido.” Isto é gerado quando o servidor de hospedagem (servidor de origem) suporta o método recebido, mas o recurso de destino não suporta.
- 406: “Resposta não aceitável.” O recurso solicitado é capaz de gerar apenas conteúdo que não é aceitável de acordo com os cabeçalhos de aceitação enviados no pedido.
- 407: “Autenticação Proxy Necessária.” Um servidor proxy está em uso e requer que seu navegador se autentique antes de continuar.
- 408: “O servidor ficou sem tempo à espera do resto do pedido do browser.” Este código é gerado quando um servidor fica fora do ar enquanto espera pelo pedido completo do navegador. Em outras palavras, o servidor não recebeu o pedido completo que foi enviado pelo navegador. Uma causa possível pode ser o congestionamento da rede, resultando na perda de pacotes de dados entre o navegador e o servidor.
- 409: “Conflito.” Um código de status 409 significa que o servidor não pôde processar o pedido do seu navegador porque há um conflito com o recurso relevante. Isto às vezes ocorre devido a múltiplas edições simultâneas.
- 410: “O recurso solicitado desapareceu e não vai voltar.” Isto é semelhante a um código 404 “Não Encontrado”, excepto um 410 indica que a condição é esperada e permanente.
- 411: “Comprimento Requerido”. Isto significa que o recurso solicitado requer que o cliente especifique um determinado comprimento e que não o tenha feito.
- 412: “Pré-condição falhada.” Seu navegador incluiu certas condições em seus cabeçalhos de solicitação, e o servidor não atendeu a essas especificações.
- 413: “Payload Too Large” ou “Request Entity Too Large“. O seu pedido é maior do que o servidor está disposto ou é capaz de processar.
- 414: “URI demasiado longo.” Isso geralmente é o resultado de uma solicitação GET que foi codificada como uma query string que é muito grande para o servidor processar.
- 415: “Tipo de mídia não suportada.” A solicitação inclui um tipo de mídia que o servidor ou recurso não suporta.
- 416: “Gama Insatisfatória”. O seu pedido foi para uma parte de um recurso que o servidor não pode devolver.
- 417: “Expectativa falhada.” O servidor não consegue atender aos requisitos especificados no campo de cabeçalho de espera da solicitação.
- 418: “Eu sou um bule.” Este código é devolvido pelos bules que recebem pedidos para fazer café. É também uma piada de Abril de 1989.
- 422: “Entidade Incompetente“. O pedido do cliente contém erros semânticos, e o servidor não pode processá-lo.
- 425: “Muito cedo.” Este código é enviado quando o servidor não está disposto a processar um pedido porque pode ser reproduzido.
- 426: “Atualização Necessária”. Devido ao conteúdo do campo de cabeçalho de atualização do pedido, o cliente deve mudar para um protocolo diferente.
- 428: “Pré-requisito”. O servidor requer que as condições sejam especificadas antes de processar a solicitação.
- 429: “Demasiados pedidos.” Isto é gerado pelo servidor quando o usuário enviou muitas solicitações em um determinado período de tempo (limite de taxa). Isso às vezes pode ocorrer devido a bots ou scripts que tentam acessar o seu site. Neste caso, talvez você queira tentar mudar seu URL de login do WordPress. Você também pode consultar nosso guia para corrigir um erro de 429 “Demasiados pedidos”.
- 431: “Solicitar campos de cabeçalho demasiado grandes.” O servidor não pode processar a solicitação porque os campos de cabeçalho são muito grandes. Isso pode indicar um problema com um único campo de cabeçalho, ou todos eles coletivamente.
- 451: “Indisponível por razões legais.” O operador do servidor recebeu uma demanda para proibir o acesso ao recurso que você solicitou (ou um conjunto de recursos incluindo aquele que você solicitou). Fato engraçado: Este código é uma referência ao romance Fahrenheit 451 de Ray Bradbury.
- 499: “Pedido fechado pelo cliente”. Isto é devolvido pela NGINX quando o cliente fecha o pedido enquanto a Nginx ainda o está a processar.
500 Códigos de status
Os códigos de status de nível 500 também são considerados erros. No entanto, eles denotam que o problema está no final do servidor. Isto pode torná-los mais difíceis de resolver.
- 500: “Houve um erro no servidor e o pedido não pôde ser completado”. Este é um código genérico que significa simplesmente “erro interno do servidor”. Algo correu mal no servidor e o recurso solicitado não foi entregue. Este código é normalmente gerado por plugins de terceiros, PHP defeituoso, ou mesmo a conexão com a base de dados quebrando. Confira nossos tutoriais sobre como corrigir o erro ao estabelecer uma conexão de banco de dados e outras formas de resolver um erro de 500 servidores internos.
- 501: “Não Implementado.” Este erro indica que o servidor não suporta a funcionalidade necessária para atender a solicitação. Isto é quase sempre um problema no próprio servidor web, e normalmente deve ser resolvido pela sua hospedagem. Verifique as nossas recomendações sobre como resolver um erro 501 não implementado.
- 502: “Bad Gateway.” Este código de erro tipicamente significa que um servidor recebeu uma resposta inválida de outro, tal como quando um servidor proxy está em uso. Outras vezes uma consulta ou pedido demorará muito tempo, e por isso é cancelado ou morto pelo servidor e a conexão com a base de dados quebra. Para mais detalhes, consulte o nosso tutorial detalhado sobre como corrigir o erro 502 Bad Gateway.
- 503: “O servidor está indisponível para tratar deste pedido neste momento.” O pedido não pode ser completado neste momento. Este código pode ser devolvido por um servidor sobrecarregado que não é capaz de lidar com pedidos adicionais. Temos um guia completo sobre como corrigir o Erro de Serviço 503 Indisponível.
- 504: “O servidor, agindo como um gateway, temporizado à espera da resposta de outro servidor.” Este é o código retornado quando há dois servidores envolvidos no processamento de uma solicitação, e o primeiro servidor fica esperando que o segundo servidor responda. Você pode ler mais sobre como corrigir 504 erros em nosso guia dedicado.
- 505: “Versão HTTP Não Suportada”. O servidor não suporta a versão HTTP que o cliente usou para fazer o pedido.
- 508: “Resource Limit Is Reached”. Confira nosso tutorial sobre como resolver o erro “508 Resource Limit Is Reached” (O limite de recursos é alcançado).
- 509: “Limite de largura de banda excedido” significa que seu site está usando mais largura de banda do que seu provedor de hospedagem permite.
- 511: “Autenticação de Rede Necessária”. Este código de status é enviado quando a rede que você está tentando usar requer alguma forma de autenticação antes de enviar o seu pedido para o servidor. Por exemplo, pode ter de concordar com os Termos e Condições de um hotspot Wi-Fi público.
- 521: “Servidor Web está em baixo.” O erro 521 é uma mensagem de erro específica do Cloudflare-specific error. Isso significa que o seu navegador web foi capaz de se conectar com sucesso ao Cloudflare, mas o Cloudflare não foi capaz de se conectar ao servidor web de origem.
- 525: “SSL Handshake Failed“. O erro 525 significa que o aperto de mão SSL entre um domínio usando o Cloudflare e o servidor web de origem falhou. Se você estiver tendo problemas, há cinco métodos que você pode tentar corrigir facilmente o erro 525.
Onde saber mais sobre os Códigos de Status HTTP
Além dos códigos de status HTTP que cobrimos nesta lista, há alguns mais obscuros que você pode querer conhecer. Há vários recursos que você pode consultar para ler sobre esses códigos mais raros, inclusive:
- Esta lista abrangente de códigos de status HTTP da Wikipedia.
- Definições de código de status da Internet Engineering Task Force (IETF).
- RFC 7231.
Conhecer esses códigos de status pode ajudá-lo a resolver alguns problemas únicos enquanto mantém seu próprio site, ou mesmo quando você os encontra em outros sites.
Resumo
Embora possam parecer confusos ou intimidadores na superfície, os códigos de status HTTP são na verdade muito informativos. Ao aprender alguns dos problemas comuns, você pode solucionar problemas em seu site mais rapidamente.
Neste post, definimos mais de 40 códigos de status HTTP que você pode encontrar. Desde os códigos mais suaves de 100 e 200 níveis até aos erros mais complicados de 400 e 500 níveis, dar sentido a estas mensagens é crucial para manter o seu website e assegurar que está acessível aos utilizadores.
Deixe um comentário