Accept-Charset
The Accept-Charset
request HTTP header advertises which character set the client is able to understand. Using content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice within the Content-Type
response header. Browsers usually don't set this header as the default value for each content type is usually correct and transmitting it would allow easier fingerprinting.
If the server cannot serve any matching character set, it can theoretically send back a 406 (en-US) (Not Acceptable) error code. But, for a better user experience, this is rarely done and the more common way is to ignore the Accept-Charset
header in this case.
In early versions of HTTP/1.1, a default charset (ISO-8859-1
) was defined. This is no more the case and now each content type may have its own default.
Header type | Request header |
---|---|
Forbidden header name | yes |
Syntax
Accept-Charset: <charset> // Multiple types, weighted with the quality value syntax: Accept-Charset: utf-8, iso-8859-1;q=0.5
Directives
<charset>
- Un conjunto de caracteres como
utf-8
oiso-8859-15.
*
- Any charset not mentioned elsewhere in the header;
'*'
being used as a wildcard. ;q=
(q-factor weighting)- Any value is placed in an order of preference expressed using a relative quality value called the weight.
Examples
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
Especificaciones
Especificación | Título |
---|---|
RFC 7231, section 5.3.3: Accept-Charset | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context |
Compatibilidad del navegador
BCD tables only load in the browser
La compatibilidad de la tabla en esta página es generada de una data estructurada. Si quieres contribuir con la Data, por favor revisa: https://github.com/mdn/browser-compat-data y envíanos tu solicitud.
También puedes revisar:
- HTTP content negotiation
- Encabezados conlos resultados de la negociación de contenido:
Content-Type
- Otros encabezados similares: TE (en-US), Accept-Encoding (en-US), Accept-Language (en-US),
Accept