406 Not Acceptable significa que o recurso de destino não tem nenhuma representação compatível com os cabeçalhos de negociação do cliente, como Accept, Accept-Language ou Accept-Encoding, e que o servidor não está disposto a enviar uma representação padrão. O corpo deve listar as representações disponíveis para que o usuário ou o cliente possa escolher.
Na prática, a maioria dos servidores ignora as preferências que não consegue atender e envia uma representação padrão, o que a RFC 9110 permite explicitamente. Por isso, o 406 aparece principalmente em APIs que servem apenas alguns tipos de mídia, por exemplo uma API JSON que recebe Accept: application/xml.
Alguns provedores de hospedagem configuram módulos de segurança como o ModSecurity para responder com 406 às requisições bloqueadas; assim, um 406 também pode ser uma decisão do firewall, e não um problema de negociação.
Exemplo de resposta
HTTP/1.1 406 Not Acceptable
Date: Fri, 06 Nov 2026 10:15:32 GMT
Vary: Accept
Content-Type: application/json
Content-Length: 57
{"error":"Available formats: application/json, text/csv"} SEO e verificação de redirecionamentos
Os rastreadores enviam cabeçalhos Accept amplos; portanto, não deveriam receber 406. Se receberem, a URL é tratada como um erro 4xx e não é indexada. Quando uma verificação de redirecionamentos retorna 406, mas a página carrega no navegador, confira os cabeçalhos Accept personalizados que você adicionou ou procure uma regra de segurança que se aplique ao User-Agent ou à URL.
Causas comuns e casos de uso
- Uma API só aceita JSON, mas o cliente pediu XML ou outro formato.
- Uma configuração rígida de
Accept-Languagenão tem uma tradução correspondente nem uma alternativa padrão. - Uma regra do ModSecurity ou de um WAF em hospedagem compartilhada bloqueia a requisição com 406.