Como posso reparar um erro 406 e encontrar a origem do problema?

Procédure

Introdução

Por vezes, ocorrem erros nos servidores e nos clientes, normalmente designados por respostas HTTP ou códigos de estado. O erro "Erro 406" ou "406 Não Aceitável" é uma dessas respostas HTTP.

Encontrar o erro 406 ao navegar num sítio pode ser frustrante. Pior ainda, vê-lo no seu próprio sítio Web pode ser alarmante para o proprietário de um sítio ou de uma aplicação. Além de parecer pouco profissional e desconcertante, qualquer resposta HTTP, incluindo o erro 406, pode levar à perda de vendas e de utilizadores.

Este artigo explora as noções básicas do erro "406 não aceitável", o que o provoca, como o resolver e o que pode fazer para evitar que aconteça no futuro.

O que é o erro 406?

Felizmente, a mensagem de erro HTTP "406 Not Acceptable" não é tão comum como outros erros de servidor, como o conhecido erro 404 (que normalmente indica uma página inexistente) ou mesmo os erros HTTP 301 ou 500. Por conseguinte, não deve encontrar esta mensagem com tanta frequência.

No entanto, embora raro, o erro 406 pode causar problemas ao seu sítio Web quando ocorre. Normalmente, manifesta-se da seguinte forma:

Como posso reparar um erro 406 e encontrar a origem do problema?

O aspeto e o texto exato da mensagem de erro 406 podem variar consoante o sítio Web, o anfitrião e o navegador utilizado para aceder ao sítio. No entanto, o erro 406 pode dar uma pista sobre a origem do problema. Nalguns casos, trata-se simplesmente de um erro "406 Não Aceitável" sem qualquer informação adicional que ajude a resolver o problema.

Em resumo, trata-se essencialmente de um problema de comunicação entre o servidor e o browser ou máquina utilizada para apresentar a aplicação Web. O browser não consegue interpretar os dados recebidos porque estes não cumprem determinados requisitos.

O que causa o erro 406?

Sempre que abre uma página Web, o seu navegador (como o Safari, o Firefox, o Brave, o Chrome ou o Internet Explorer) envia um pedido ao servidor da página para recuperar o conteúdo do sítio e os ficheiros da base de dados. O navegador funciona como um mensageiro entre o utilizador e o servidor: diz ao servidor o que o utilizador quer ver e, com sorte, é-lhe devolvida a informação correcta.

Durante este primeiro pedido, o navegador informa o servidor dos formatos de ficheiro que pode aceitar. Isto é conhecido como um pedido Accept-header, que pede ao servidor para fornecer ficheiros nos formatos apropriados para apresentar todo o sítio ou aplicação Web, começando pelo cabeçalho.

Por vezes, o servidor envia uma resposta que não está no formato adequado ou que quebra uma regra definida pelo navegador ou pela máquina cliente. Neste caso, aparece um erro 406 na janela do browser, indicando que o servidor não está a fornecer os dados adequados.

Seguem-se alguns exemplos de "maus formatos" e "violações de regras" que podem ocorrer com pedidos de cabeçalho:

Accept-ranges: Alguns servidores têm medidas de segurança em vigor ou apenas permitem um intervalo de tamanho de ficheiro específico na resposta. Se a resposta tentar enviar demasiados bytes fora do intervalo permitido, ocorrerá um erro 406.

Accept-encoding: Esta secção do cabeçalho destina-se à compressão de ficheiros para facilitar a transferência rápida do servidor para o browser. Alguns formatos de compressão não são aceites, o que resulta num erro 406.

Accept-charset: refere-se a um conjunto de caracteres ou à forma como os ficheiros do sítio utilizam o código (como CSS e HTML) e o transformam em caracteres compreensíveis. Existem diferentes tabelas de caracteres para diferentes idiomas e símbolos.

Accept-language: Este é um parâmetro diferente do Accept-charset, que se centra nas línguas internacionais.

Violação do tipo MIME: Por vezes, o browser solicita um tipo MIME específico ao servidor. Se o servidor não puder fornecer o tipo MIME solicitado, como imagens JPEG, ocorre um erro 406.

A principal forma de tratar e corrigir um erro 406 é inspecionar o código fonte para detetar problemas nos cabeçalhos Accept-, Request- e Response-.

A forma mais fácil de inspecionar os cabeçalhos Accept- e Response- é abrir uma página Web no browser, clicar com o botão direito do rato e selecionar Inspecionar.

Em seguida, aceda a Rede > Cabeçalhos para ver todos os pedidos dessa página Web.

Como posso reparar um erro 406 e encontrar a origem do problema?

Normalmente, é possível selecionar qualquer pedido da longa lista para ver os cabeçalhos Request- e Response- desse pedido específico.

Como posso reparar um erro 406 e encontrar a origem do problema?

Também pode pedir ajuda ao seu programador Web para examinar o código-fonte. No entanto, a inspeção do código-fonte é muito mais fácil quando se tem acesso a ferramentas de depuração e de limpeza da base de dados, cujos pormenores discutiremos mais adiante neste artigo.

Como mencionado anteriormente, um erro '406 não aceitável' indica que o cliente enviou um pedido válido para o servidor, mas com um requisito específico que o servidor não conseguiu satisfazer. Este requisito específico do pedido original foi formulado no cabeçalho HTTP Accept-.

Isto leva-nos a considerar algumas causas potenciais:

  • O servidor não forneceu o tipo MIME solicitado ou os formatos apropriados, como um vídeo JPEG ou mp4.
  • O servidor não devolveu o idioma correto (Accept-language). Por exemplo, ele pode ter retornado uma resposta em alemão quando o navegador solicitou francês.
  • O servidor utilizou o método ou formato de compressão incorreto em resposta ao pedido Accept-encoding.
  • O servidor transmitiu demasiados bytes que não correspondiam ao pedido Accept-ranges.
  • O servidor não conseguiu fornecer caracteres compreensíveis, o que pode ser um problema com o pedido Accept-charset do navegador.

Existem outros motivos possíveis para a ocorrência do erro 406, embora sejam menos comuns. A lista acima mostra os motivos mais comuns, do mais comum para o menos comum. As duas primeiras razões são geralmente as mais prováveis de ocorrer, pelo que é aconselhável concentrar os seus esforços na procura de possíveis violações do tipo MIME ou de problemas de linguagem Accept.

De um modo geral, os proprietários de sítios Web devem estar atentos a estes problemas e violações de formato, uma vez que podem ser causados por várias anomalias nos ficheiros do seu sítio. Muitas vezes, estas situações são o resultado de erro humano, como a introdução acidental de código incorreto, a eliminação involuntária de código necessário ou a má configuração do servidor. O erro 406 também pode ocorrer quando configurações ou regras de segurança específicas bloqueiam a transmissão de conteúdo do servidor.

Como posso corrigir o erro 406?

Agora que esclarecemos as razões por detrás da ocorrência do erro 406, vamos analisar as melhores abordagens para o resolver e evitar a sua recorrência.

Estas estratégias abrangem causas do lado do cliente (quando um utilizador comete um erro ou a máquina funciona mal), causas do lado do servidor e problemas relacionados com a plataforma, tais como extensões defeituosas.

Certifique-se de que o URL está correto

A nossa primeira dica pode parecer simples, mas é a opção de resolução de problemas mais rápida e centra-se nos problemas do lado do cliente, ou seja, no seu computador.

Embora o erro 404 seja muito mais comum do que o erro 406 nesta situação, pode ainda encontrar um erro "406 Não Aceitável" se o URL do Web site for válido. Em alguns casos, isto pode ser o resultado de uma interpretação estranha do pedido pelo seu browser. Por exemplo, adicionar "JSON" ou "PHP" ao final de um URL pode ser interpretado como um pedido para estes formatos específicos, mesmo que o cliente não precise deles.

Para resolver o problema, volte a examinar o URL utilizado anteriormente que causou o erro. Tente introduzi-lo novamente ou explore outros subdomínios do sítio Web para ver se uma única página não é apresentada.

Anular as alterações recentes do CMS

Em seguida, é altura de explorar o sistema utilizado para os seus sítios Web ou aplicações. Pode ser que o seu sistema de gestão de conteúdos, como o WordPress, seja a causa direta de um erro "406 Not Acceptable" devido a uma complicação com algo nos ficheiros do seu site.

Quer utilize o WordPress ou qualquer outro sistema de gestão de conteúdos, verifique a data da sua última atualização. O WordPress tem uma infraestrutura padrão sólida concebida para evitar este tipo de erro, aconteça o que acontecer.

No entanto, extensões específicas, temas ou código modificado manualmente podem produzir situações em que os ficheiros do sítio violam os pedidos do cliente ou do servidor. Uma simples atualização para a versão mais recente do seu CMS pode resolver o problema imediatamente.

Para descobrir se é o seu CMS, comece por anular quaisquer actualizações recentes dos ficheiros principais. Como já deve saber, o WordPress envia actualizações regulares para o seu sistema. A maioria destas actualizações ocorre automaticamente, mas as versões mais antigas ainda exigem que clique num botão.

Além disso, o WordPress e outros CMS utilizam vários elementos móveis, como plugins, temas e extensões. Estes elementos também são actualizados regularmente, pelo que poderá ser necessário cancelar alguns deles.

Para todos os sistemas que não o WordPress, pesquise "nome da plataforma + como reverter" num motor de busca como o Google.

A forma mais fácil de restaurar uma versão antiga do seu CMS é restaurar uma cópia de segurança seguindo esta documentação.

Desinstalar e reinstalar plug-ins, temas e extensões

As extensões e os temas do WordPress adicionam código extra aos ficheiros do seu sítio, que interage com os ficheiros principais do WordPress. Embora normalmente não existam problemas com extensões de boa reputação, por vezes pode ocorrer um conflito. Um plugin, tema ou extensão de terceiros pode estar a causar o erro 406.

Para identificar a extensão, siga esta documentação.

[Recomendamos que execute as acções relativas às extensões antes de passar aos temas. Desativar ou alterar temas pode levar a uma maior reorganização do conteúdo[/tips].

Analisar os registos do servidor

As dicas anteriores centraram-se na resolução de problemas do lado do cliente e do CMS. Agora vamos analisar os problemas do lado do servidor. Estas dicas, e as que se seguem, são úteis se não estiver a utilizar um CMS ou se suspeitar que o erro 406 não está relacionado com o seu CMS ou máquina cliente.

O primeiro passo na resolução de problemas do lado do servidor é verificar os registos. Independentemente do tipo de aplicação Web, CMS ou sistema de conceção Web que utilize, todos eles têm registos do lado do servidor.

Os registos de aplicações registam o histórico completo ou recente da aplicação Web, fornecendo informações sobre cada consulta à base de dados, os resultados fornecidos, as páginas solicitadas e muito mais. Os registos do servidor, por outro lado, contêm informações sobre a saúde e o estado do servidor ou do hardware utilizado para executar a aplicação Web.

Pode visualizar os registos error.log e access. log consultando esta documentação.

A imagem abaixo mostra um exemplo de um registo ligado a um erro 406:

Como posso reparar um erro 406 e encontrar a origem do problema?

Neste exemplo, foi o sistema ModSecurity que recusou o pedido e gerou o erro 406. Por conseguinte, é necessário verificar a regra que foi criada e corrigir o problema no sítio ou desativar a regra se considerar que não tem qualquer impacto na segurança do seu sítio Web.

Prevenir os erros 406 no futuro

Não há nada que uma pequena resolução de problemas não possa resolver. Quando o erro 406 ocorre no seu sítio Web ou aplicação, pode ser mais preocupante. Neste caso, é crucial verificar o servidor e os ficheiros do site CMS.

Para evitar que este erro se repita no futuro, eis algumas dicas para manter as suas bases de dados e ficheiros do site limpos:

  1. Limite a instalação de plug-ins, temas e extensões apenas aos elementos necessários e de boa reputação. Mantenha sempre estes elementos num mínimo rigoroso.

  2. Evite modificar os ficheiros principais do WordPress, a menos que seja absolutamente necessário e se souber o que está a fazer.

  3. Planeie executar regularmente um limpador de bases de dados e um optimizador de sítios. Recomenda-se que o faça todos os meses e que encontre uma extensão de limpeza que funcione em segundo plano.

  4. Crie cópias de segurança automáticas do seu sítio Web ou aplicação. Desta forma, em caso de conflito de código ou de erro, pode restaurar uma versão anterior sem stress.

  5. Faça sempre uma cópia de segurança manual do seu sítio antes de atualizar o WordPress e as suas extensões, mesmo que existam cópias de segurança automáticas. Também é aconselhável fazer uma cópia de segurança antes de modificar ficheiros ou adicionar novo código ao seu sítio.

Conclusão

Agora já sabe como :

  • Reconhecer e compreender a origem do erro 406 Not Acceptable
  • Identificar as causas potenciais deste erro, quer estejam relacionadas com Accept-ranges, Accept-encoding, Accept-charset, Accept-language ou uma violação do tipo MIME
  • Diagnosticar e corrigir o erro 406 verificando o URL, anulando alterações recentes ao CMS, desinstalando e reinstalando plug-ins ou temas e analisando os registos do servidor
  • Prevenir o erro 406 limitando as instalações de plug-ins, evitando modificações nos ficheiros principais do CMS, agendando limpezas regulares da base de dados e configurando cópias de segurança automáticas e manuais

Graças a estas dicas práticas, está agora armado para combater e prevenir eficazmente o erro 406 Not Acceptable e, assim, garantir uma experiência de utilizador suave e profissional no seu sítio Web. 🚀

Gostaria de agradecer a sua leitura atenta e espero que este artigo lhe tenha fornecido as chaves de que necessita para gerir da melhor forma os erros do servidor. Se você tiver alguma dúvida ou quiser compartilhar sua experiência com o erro 406, sinta-se à vontade para deixar um comentário abaixo. O seu feedback é valioso e ajuda-nos a melhorar continuamente o nosso serviço!

Avaliar este artigo :

1/5 | 1 opinião

Este artigo foi útil para si ?

Article utileSim

Article non utileNão

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Artigos semelhantes

0mn leitura

Cloudflare Error 524 : Ocorreu um timeout

3mn leitura

Como corrigir um erro 500 no seu sítio com o painel LWS

10mn leitura

Como é que corrijo os códigos de erro HTTP?

0mn leitura

Erro 404, o que é e como o corrigir


Fazer uma pergunta à equipa do LWS e à sua comunidade