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-8ouiso-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