Os erros do servidor e do lado do cliente acontecem ocasionalmente, e normalmente nos referimos a eles como respostas HTTP ou códigos de status. O erro “406 error” ou “406 Não Aceitável” é uma dessas respostas HTTP.

Você pode ver o erro 406 enquanto visita um site. Ou pior, em seu site. Embora possa irritar o usuário médio da Internet, pode ser aterrorizante para um site ou para o proprietário de um aplicativo. Além de parecer algo pouco profissional e confuso, qualquer código de resposta HTTP, incluindo o erro 406, pode perder vendas e usuários.

Este artigo explicará o básico do erro “406 Não Aceitável”, suas causas, como corrigi-lo e os passos para evitá-lo no futuro.

Confira nosso Guia para corrigir um erro 406 e encontrar a origem do problema

 

O que é o erro 406?

A boa notícia é que o erro HTTP “406 Não Aceitável” não é tão comum quanto o erro do servidor 404 (que normalmente indica uma página da Web inexistente), ou mesmo o erro HTTP 301 ou 500. Portanto, você definitivamente não deve ver este tanto.

Embora seja raro, ainda é possível que o erro 406 possa entrar em jogo como um problema para seu site. Normalmente é assim que se parece:

Um exemplo de uma mensagem "406 Não aceitável"
Um exemplo de uma mensagem “406 Não aceitável”.

A mensagem normalmente é lida:

Não Aceitável

Uma representação apropriada do recurso solicitado não pôde ser encontrada neste servidor.

Em seguida, às vezes identifica o “recurso solicitado” onde se encontra o problema, com outras mensagens ou informações do servidor mencionadas no final:

Cerca de 406 erros mostram o recurso rejeitado
Cerca do erros 406 mostram o recurso rejeitado.

A aparência e o texto dentro da mensagem de erro 406, dependendo do site, do host e do navegador usado para acessar o site. O erro 406 pode revelar de onde provêm os erros. Outras vezes você pode descobrir que é um simples erro “406 Não Aceitável” sem nenhuma informação que ajude a resolver o problema.

Agora, vamos fingir que os navegadores falavam em inglês simples e não estas mensagens crípticas. Nesse caso, o navegador estaria dizendo algo como isto:

Olá, eu sou um navegador. Eu tentei mostrar esta página, mas um dos dois problemas ocorreu:

  1. O servidor do site me enviou o formato de arquivo errado, por isso não posso aceitá-lo.
  2. O servidor do site viola algumas configurações ou exigências de segurança.

Portanto, favor resolver a violação ou fazer com que o servidor utilize um dos formatos de arquivo que eu aceito. Caso você esteja se perguntando, aqui estão os formatos de arquivo que eu sei ler.

Se ao menos os navegadores fossem tão amigáveis!

Essencialmente, há uma falha de comunicação entre o servidor e o navegador ou a máquina utilizada para apresentar o aplicativo web. O navegador não consegue ler o que está entrando ou verificar os dados porque não atendeu a alguns requisitos.

Agora temos que responder algumas perguntas para descobrir a causa desse mal-entendido.

O que causa o erro 406?

Toda vez que você abre uma página web, seu navegador (como Safari, Firefox, Brave, Chrome ou Internet Explorer) envia uma solicitação ao servidor da página para obter o conteúdo do site e os arquivos do banco de dados. O navegador atua como o mensageiro entre você e o servidor – ele diz ao servidor o que o usuário quer ver, e esperamos que as informações corretas voltem.

Durante essa primeira solicitação, o navegador informa ao servidor tudo sobre os formatos de arquivo que ele pode aceitar. É chamado de pedido de cabeçalho Accept-, que solicita ao servidor que entregue os arquivos nos formatos apropriados para produzir todo o site ou aplicativo web, começando com o cabeçalho.

Às vezes o servidor envia uma resposta que não está no formato adequado ou viola uma regra estabelecida pelo navegador ou pela máquina do cliente. Nesta situação, um erro 406 aparece na janela do navegador, indicando que o servidor não está entregando os dados apropriados.

Aqui estão alguns exemplos de “formatos ruins” e “violações de regras” que podem surgir com os pedidos de cabeçalho:

  • Accept-ranges: Alguns servidores têm medidas de segurança estabelecidas ou permitem apenas uma faixa específica de tamanho de arquivo na resposta. Se a resposta tentar enviar muitos bytes fora da faixa permissível, você verá o erro 406.
  • Accept-encoding: Aqui está uma área do cabeçalho destinada a comprimir arquivos, para que eles se movam rapidamente do servidor para o navegador. Alguns métodos e formatos de compactação não são aceitos, tornando um código de erro 406.
  • Accept-charset: Refere-se a um conjunto de caracteres ou como as tabelas de arquivos do site pegam o código (como CSS e HTML) e o transformam em caracteres compreensíveis. Há tantos caracteres, idiomas e símbolos no mundo que é um desafio cobri-los a todos. A tabela padrão é chamada ISO-8859, mas há outras tabelas complementares também. Ocasionalmente, novas tabelas de caracteres são lançadas para acompanhar o idioma e as adições de caracteres.
  • Accept-language: Este é geralmente um nome diferente para Accept-charset que faz referência ao seu foco em idiomas internacionais.
  • Violação do tipo MIME: Algumas vezes, o navegador solicita um tipo específico de MIME do servidor. Os tipos MIME são elementos de conteúdo como imagens JPEG, formatos de vídeo específicos, ou texto simples. Se o servidor não puder fornecer um tipo MIME solicitado, como imagens JPEG, você verá um erro 406.

A principal maneira de abordar e corrigir um erro 406 é verificando o código fonte para questões nos cabeçalhos Accept-, Request-, and Response-.

A maneira mais fácil de rever os cabeçalhos Accept e Response é abrir uma página web em seu navegador, clicar com o botão direito do mouse e selecionar Inspect.

Ir para Network > Headers revelar todas as solicitações desta página da web.

Clique com o botão direito do mouse e escolha Inspect no navegador, depois vá para a guia Network and Headers
Clique com o botão direito do mouse e escolha Inspect no navegador, depois vá para a guia Network and Headers (Rede e Cabeçalhos).

Normalmente, você pode selecionar qualquer pedido da longa lista para ver os cabeçalhos de Request- e Response- para esse pedido em particular.

Clique em qualquer pedido da lista para ver coisas como cabeçalhos de Resposta e de Pedido
Clique em qualquer pedido da lista para ver coisas como cabeçalhos de Resposta e de Pedido.

Ou, você pode entrar em contato com seu desenvolvedor web para dar uma olhada no código fonte. Entretanto, verificar o código fonte é muito mais fácil quando você tem ferramentas para depuração e limpeza do seu banco de dados, o que discutiremos mais adiante neste artigo.

Como mencionado anteriormente, um erro “406 Não Aceitável” nos diz que o cliente enviou uma solicitação válida para o servidor, mas a solicitação incluiu uma exigência única para que o servidor a seguisse. Essa exigência especial na solicitação inicial estava na forma de um cabeçalho HTTP Accept-.

Isso nos deixa com algumas causas potenciais:

  1. O servidor não forneceu o tipo MIME solicitado ou formatos apropriados, como um JPEG ou um vídeo mp4.
  2. O servidor não voltou com a linguagem correta (Accept-language). Por exemplo, ele pode ter enviado de volta uma resposta em alemão quando o navegador perguntou pelo francês.
  3. O servidor usou o método ou formato de compressão errado em resposta ao pedido de Accept-encoding.
  4. O servidor enviou de volta muitos bytes que não se alinhavam com o pedido de Accept-ranges.
  5. O servidor não forneceu caracteres compreensíveis, o que resultaria em um problema com o pedido de Accept-charset do navegador.

Há outras razões pelas quais você pode ver o erro 406, mas elas não são tão comuns. A lista acima é desde as razões mais comuns até as menos comuns. Os dois primeiros entram em jogo com muito mais freqüência do que os outros, portanto, há uma boa chance de que você geralmente se concentre na solução do potencial de uma violação do tipo MIME ou de um problema de Accept-language.

Em geral, os proprietários do site devem saber sobre estes problemas de formato e violações, vendo como algo dentro dos arquivos do seu site pode causar problemas. Tais situações freqüentemente ocorrem devido a erro humano, como digitar acidentalmente o código errado, apagar o código necessário, ou configurar mal o servidor. O erro 406 também aparece quando configurações específicas de segurança ou regras bloqueiam a transmissão de conteúdo do servidor.

Como corrigir o erro 406

É prudente executar um site ou aplicativo de backup antes de completar qualquer passo para resolver um erro 406. Há sempre o potencial de causar mais problemas ao entrar no código fonte do seu site, portanto, você vai querer ter um banco de dados e arquivo de backup do site para restaurar, se necessário.

Certifique-se de completar um backup completo com tudo desde o banco de dados até o aplicativo e os elementos de mídia até os arquivos do site. Se você é um usuário Kinsta, você pode fazer isso com o recurso de backup MyKinsta, que registra todo o seu site em um arquivo separado e tem um botão Restaurar para uso posterior:

Execute backups diários, horários ou manuais no painel MyKinsta
Execute backups diários, horários ou manuais no painel MyKinsta.

Agora que temos uma compreensão mais profunda do porquê do erro 406, é hora de falar sobre os melhores métodos para solucionar o erro e evitar que ele ocorra novamente.

Estas táticas incluem causas do lado do cliente (onde um usuário comete um erro ou a máquina não está funcionando corretamente), causas do lado do servidor e causas baseadas em plataforma como plugins defeituosos.

Certifique-se de que a URL está correta

Nosso primeiro conselho pode parecer simples, mas é a opção mais rápida de solução de problemas, e coloca um foco em questões com o lado cliente (ou seja, seu computador).

Você pode acabar vendo um erro “406 Não Aceitável” se o URL do site for válido. Entretanto, há algo de estranho na maneira como seu navegador traduz o pedido. Por exemplo, adicionar “JSON” ou “PHP” ao final de uma URL pode ser interpretado como um pedido para esses formatos particulares, mesmo que o cliente não precise deles.

Para resolver o problema, verifique novamente a URL utilizada anteriormente que produziu o erro. Tente digitá-lo novamente ou optar por um subdomínio diferente no site para ver se é apenas uma página que não está renderizando.

Uma mensagem 406 é tecnicamente considerada um código de erro do lado do cliente (mesmo sendo muitas vezes um problema de plataforma ou servidor), portanto, esta é a primeira linha de ação para determinar se algo está errado do lado do cliente.

Reinicialize seus dispositivos e redes

Outro problema do lado do cliente ocasionalmente envolve aqueles mesmos cabeçalhos Accept – enviados do computador do usuário para uma plataforma que não pode satisfazer o pedido. Muitas destas plataformas incluem sistemas orientados para jogos ou mídia como Hulu ou mercados musicais como Spotify.

Em termos mais simples, você pode entrar em uma plataforma como a Hulu, tentar assistir a seu programa de TV favorito e receber uma mensagem de erro 406. Neste exemplo, o problema está quase sempre no lado do cliente. Geralmente é seu computador, rede ou outro dispositivo que você usou para lançar a plataforma.

Embora isso possa acontecer com qualquer plataforma, algumas plataformas que comumente relatam o erros 406 incluem:

  • Hulu
  • Google Play
  • Jogos Enix Quadrado
  • Netflix
  • Xbox
  • Janelas (geralmente para jogos)

Esta lista está longe de estar completa, mas dá uma idéia de onde o erro 406 pode ocorrer.

As plataformas de mídia e jogos são complicadas com muitas restrições, e essas restrições dependem de sua localização ou configuração de rede. Há uma chance de você encontrar um erro como este devido a todas as peças em movimento.

Embora não possamos ajudá-lo a solucionar problemas em cada plataforma específica, considere caminhar através das seguintes recomendações e verificar se o erro é resolvido:

  • Entre on-line para verificar o status do seu servidor de plataforma. Pode ser simplesmente um problema com o servidor da empresa.
  • Reinicie seu computador, sistema de jogos, dispositivo de streaming, ou outras máquinas.
  • Desconecte todos os dispositivos de seus cabos, espere alguns minutos antes de reconectá-los todos, e verifique se o erro desapareceu.
  • Verifique se o aplicativo está rodando a versão mais atual. Veja também se alguma de suas máquinas tem atualizações de firmware disponíveis.
  • Reinicie sua rede de casa ou do escritório (a conexão WiFi ou internet através do seu roteador).
  • Considere mudar de uma rede sem fio para uma conexão de rede com fio se você ainda estiver tendo problemas.
  • Embora isto nem sempre seja uma possibilidade, considere duplicar o erro com uma máquina completamente diferente. Certifique-se de que o dispositivo esteja na mesma rede. Se você não puder replicar o erro, procure em sua rede e na máquina original.

Se tudo mais falhar, vá até seu mecanismo de busca e digite o nome de sua plataforma junto com “+ 406 código de erro” para conselhos de solução de problemas específicos da plataforma. Isso muitas vezes revela fóruns e documentação de suporte para guiá-lo através do processo.

Desfaça suas recentes mudanças no CMS

A seguir, é hora de explorar o sistema utilizado para seus sites ou aplicativos. Você pode descobrir que seu sistema de gerenciamento de conteúdo, como o WordPress, é a causa direta de um erro “406 Não Aceitável” devido a uma complicação com algo dentro dos arquivos do seu site.

Seja usando WordPress ou qualquer outro sistema de gerenciamento de conteúdo, verifique quando ocorreu sua última atualização. O WordPress tem uma infra-estrutura padrão robusta para evitar estes tipos de erros, não importa o que aconteça.

Entretanto, plugins específicos, temas ou codificação ajustada manualmente poderiam produzir situações em que os arquivos do site violassem as solicitações do cliente ou do servidor. Uma simples atualização para a última versão do seu CMS pode resolver o problema de imediato.

Para descobrir se é o seu CMS, comece por reverter qualquer atualização recente que tenha ocorrido nos arquivos principais. Como você já deve saber, o WordPress envia regularmente atualizações para seu sistema. A maioria dessas atualizações acontece automaticamente, mas versões mais antigas ainda exigem que você clique em um botão.

Além disso, o WordPress e outros CMSs utilizam diversas partes móveis como plugins, temas e extensões. Estes também são atualizados regularmente, portanto, talvez seja necessário reverter algumas delas.

Para todos os sistemas fora do WordPress, procure por “nome da plataforma + como fazer o downgrade”.

Se você usa WordPress, você pode facilmente rebaixar seu site WordPress, fazendo-o efetivamente retroceder para uma das versões anteriores:

Baixar para uma versão anterior do WordPress
Baixar para uma versão anterior do WordPress.

Esse guia delineia os seguintes métodos para a desclassificação do seu site WordPress, a maioria dos quais leva apenas alguns minutos:

Desinstalar e reinstalar plugins, temas e extensões

Os plugins e temas do WordPress adicionam código extra aos arquivos do seu site que interagem com os principais arquivos do WordPress. Plugins confiáveis normalmente não causam nenhum problema, mas ocasionalmente ocorre um conflito. Um plugin, tema ou extensão de terceiros pode ser a razão para o erro 406.

O método comprovado e verdadeiro para identificar um plugin ou tema problemático é desativar seus plugins e temas um a um. Depois de desativar cada um deles, verifique se o erro 406 desapareceu. Se for o caso, você encontrou o problema. Se ele não desaparecer, reinstale o plugin ou tema e continue desinstalando o próximo.

Ir para a guia Plugins no WordPress e desativar cada plugin um a um
Ir para a guia Plugins no WordPress e desativar cada plugin um a um.

Analise o status do seu banco de dados para mudanças e conflitos

Infelizmente, um plugin “problematico” removido ainda pode afetar seu banco de dados WordPress, já que os plugins obtêm acesso total ao banco de dados para funcionar bem. Portanto, você ainda deve verificar o status do seu banco de dados mesmo que pareça que a remoção de um plugin tenha feito com que o erro 406 desaparecesse. Caso contrário, você ainda pode correr o risco de ver outros problemas no futuro.

Se um plugin ou tema não foi o culpado, você também deve verificar seu banco de dados se ele é a fonte primária do erro. Às vezes, uma mudança no banco de dados, seja acidental ou proposital, torna-se a principal razão pela qual aparece um erro 406.

Para escanear e consertar seu banco de dados, considere estas soluções:

  1. Instale um scanner e um limpador de banco de dados que remova tabelas e ativos inúteis e problemáticos. Algumas opções incluem o WP Optimize e o Advanced Database Cleaner. Grande parte deste processo envolve a eliminação de itens antigos ou órfãos como postes de lixo, revisões e metadados. É um primeiro passo sólido para limpar seu banco de dados e potencialmente eliminar esse erro 406.
  2. Digitalize o banco de dados e procure por registros e tabelas potencialmente alterados por um plugin problemático ou que pareçam fora do lugar ou desnecessários.
  3. Se você tem uma idéia do que está errado com seu banco de dados, vá a um mecanismo de busca e procure ajuda em fóruns e outras discussões on-line. Há uma boa chance de que outra pessoa tenha experimentado o mesmo problema.
 Limpe seu banco de dados com uma ferramenta de otimização como WP-Optimize. Fonte da imagem: WP-Optimize
Limpe seu banco de dados com uma ferramenta de otimização como WP-Optimize. Fonte da imagem: WP-Optimize

Analise seus logs do servidor

As recomendações anteriores concentram-se na solução de problemas do lado do cliente e do CMS. Agora vamos considerar todos os problemas do lado do servidor. Esta dica, e as seguintes, são melhores se você não estiver usando um CMS ou souber que o erro 406 não tem conexão com seu CMS ou máquina cliente.

O primeiro passo na solução de problemas do servidor é verificar os logs. Não importa que tipo de aplicativo web, CMS ou sistema de web design você usa; todos eles têm logs do lado do servidor.

Os logs do aplicativo armazenam todo o histórico (ou recente) dessa aplicativo web, com informações sobre cada consulta de banco de dados, resultados fornecidos, páginas solicitadas, e muito mais. Por outro lado, os logs do servidor contêm informações sobre a saúde e o status do servidor ou hardware usado para executar o aplicativo web.

Para usuários Kinsta, você pode encontrar erros e logs de servidor no painel do MyKinsta. Verifique todos os logs que possam estar causando o erro 406:

  • O arquivo error.log
  • O arquivo kinsta-cache-perf.log
  • O arquivo access.log
Para ver os três logs necessários, clique na guia Sites, escolha seu site, depois o botão Logs, juntamente com o tipo de log a partir do menu suspenso
Para ver os três logs necessários, clique na guia Sites, escolha seu site, depois o botão Logs, juntamente com o tipo de log a partir do menu suspenso.

Você também pode verificar o acesso bruto e arquivos de log de erros WordPress com um cliente FTP. Outras opções incluem ativar os logs de erros no wp-config.php e passar pelo modo de depuração no painel do MyKinsta.

Se você tiver problemas para encontrar os registros de erros ou não souber como interpretá-los, entre em contato com a equipe de suporte ao cliente Kinsta para obter assistência.

Depurar o aplicativo Web (com o WordPress)

Como a maioria dos aplicativos web tem logs de servidor e de erros, elas também normalmente fornecem informações sobre a depuração da próprio aplicativo . A depuração envolve percorrer o código do aplicativo para encontrar e eliminar erros menores (ou bugs).

Uma das melhores maneiras de executar um scan completo do WordPress (e qualquer aplicativo web para esse fim) é depurar o banco de dados e os arquivos do site. Felizmente, a depuração não significa que você tenha que ler cada linha de código e escolher os bugs você mesmo. Programas estão disponíveis para este propósito específico, e como mencionamos anteriormente, Kinsta tem até mesmo sua ferramenta de depuração dentro do painel do MyKinsta.

Comece o processo de depuração aprendendo os conceitos básicos de depuração do WordPress com o Kinsta Debug Mode, WordPress Debug Plugins, ou um processo mais manual:

Sites > Ferramentas leva você a uma página para ativar o recurso Modo de Depuração do WordPress no painel Kinsta
Sites > Ferramentas leva você a uma página para ativar o recurso Modo de Depuração do WordPress no painel Kinsta.

Prevenindo o erro 406 no futuro

O problema com o erro 406 é que ele pode aparecer em muitas situações diferentes. Você pode ver o erro “406 HTTP Não Aceitável” enquanto navega pelo Hulu ou Netflix como um consumidor regular.

Isso não é muito agradável, mas nada que um pouco de solução de problemas não consiga resolver. O mais preocupante é a ocorrência do erro 406 quando ele acontece em seu site ou aplicativo . Para esses casos, você precisará verificar os arquivos do servidor e do site CMS.

Se for o seu site, você vai querer evitar que o erro ocorra novamente. Plugins, temas e erros humanos podem sempre entrar em jogo, mas temos algumas sugestões para manter seus bancos de dados e arquivos do site limpos no futuro:

  • Instale somente plugins, temas e extensões necessários e respeitáveis. Mantenha sempre estes elementos em um nível mínimo.
  • Nunca modifique os arquivos principais do WordPress, a menos que você absolutamente precise e saiba o que está fazendo.
  • Execute um limpador de banco de dados e otimizador de site regularmente. Recomendamos completar este processo todos os meses e, idealmente, encontrar um plugin mais limpo que funcione automaticamente em segundo plano.
  • Tenha o hábito de depurar seu servidor e o aplicativo web. Como mencionado, Kinsta oferece um recurso de Debugging em seu painel. Muitas outros aplicativos também têm este tipo de funcionalidade.
  • Faça backups automáticos do seu site ou aplicativo. Desta forma, um conflito ou erro de código não lhe causará muito estresse, pois você pode restaurar uma versão anterior do site e começar a partir daí.
  • Execute um backup manual do seu site antes de planejar atualizar o WordPress e quaisquer plugins, mesmo que você já execute backups automatizados (melhor prevenir do que remediar). Também é sábio executar backups antes de editar qualquer arquivo ou adicionar um novo código ao seu site.

Resumo

Você pode corrigir o erro 406 de várias maneiras. Desde que você saiba o que está vendo e onde procurar a correção, você deve ser capaz de eliminar o erro.

Embora este não seja um dos erros mais comuns do WordPress, é um erro que você verá de tempos em tempos se sua configuração não estiver correta.

Você tem alguma outra recomendação para resolver os erros “406 Não Aceitável”? Por favor, compartilhe-as na seção de comentários abaixo!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.