Accept-Charset
O cabeçalho de requisição HTTP Accept-Charset
anuncia quais character encodings o cliente entende. Usando negociação de conteúdo, o servidor seleciona uma das codificações, a utiliza, e informa o cliente da sua escolha dentro do cabeçalho de resposta Content-Type
, geralmente em um parâmetro charset=
. Navegadores geralmente não mandam este cabeçalho, por que o valor padrão para cada recurso geralmente está correto e transmiti-lo iria permitir fingerprinting.
Se o servidor não pode servir nenhum codificação de caracteres vindo deste cabeçalho de requisição, ele pode teoricamente manda de volta um código de erro 406 Not Acceptable
. Mas para uma melhor experiência de usuário, isso raramente é feito e o cabeçalho Accept-Charset
é ignorado.
Nota: Nas versões mais antigas do HTTP/1.1, a codificação de caracteres definida era: ISO-8859-1. Isto não é mais recomendado, e agora todo tipo de conteúdo tem o seu próprio padrão.
O UTF-8 é agora muito bem suportado e extremamente recomendado como codificação de caracteres preferida. Para garantir melhor privacidade e através de menor entropia com base em configuração, todos os navegadores omitem o cabeçalho Accept-Charset
: Internet Explorer 8+, Safari 5+, Opera 11+, Firefox 10+ e Chrome 27+ não o enviam mais.
Tipo de cabeçalho | Request header |
---|---|
Forbidden header name | sim |
Sintaxe
Accept-Charset: <charset> // Múltiplos tipos, com pesos baseados na sintaxe de quality value: Accept-Charset: utf-8, iso-8859-1;q=0.5
Diretivas
<charset>
-
O nome da codificação de caracteres, como
utf-8
ouiso-8859-15.
*
-
Qualquer codificação de caracteres não mencionada em qualquer lugar no cabeçalho;
*
é usado como coringa. ;q=<weight>
-
Qualquer codificação de caracteres é colocado na ordem de preferência, expresso usando um quality value relativo chamado de peso.
Exemplos
Accept-Charset: iso-8859-1 Accept-Charset: utf-8, iso-8859-1;q=0.5 Accept-Charset: utf-8, iso-8859-1;q=0.5, *;q=0.1
Especificações
Especificação | Título |
---|---|
RFC 7231, sessão 5.3.3: Accept-Charset | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context |
Compatibilidade com navegadores
Veja também
- Negociação de conteúdo HTTP
- Nunca mais Accept-Charset
- Cabeçalho com a resposta do conteúdo de negociação:
Content-Type
- Outros cabeçalhos similares:
TE
,Accept-Encoding
,Accept-Language
,Accept