Заголовок Accept-Charset
запроса HTTP сообщает какую кодировку клиент может понять. Используя согласование контента, сервер выбирает один из предложенных вариантов, использует его и информирует клиент о своем выборе в Content-Type
ответном заголовке. Браузер обычно не устанавливает этот заголовок, т.к. значение по умолчанию для каждого контентного типа обычно коректный и передача его позволит с большей легкостью получить цифровой отпечаток.
Если сервер не может обслужить никакую из предоставленных кодировок, теоретически он может вернуть 406
(Not Acceptable) код ошибки. Но, для более лучшего пользовательского опыта, это редко делается и более частый способ в этом случае, это просто игнорирование заголовка Accept-Charset
.
В более ранних версиях HTTP/1.1, кодировка по умолчанию (ISO-8859-1
) была определена. Теперь это не так и каждый контентый тип может иметь свое собственное дефолтное значение.
Тип заголовка | Request header |
---|---|
Forbidden header name | Да |
Синтаксис
Accept-Charset: <кодировка> // Множественные типы, придающие вес с quality value синтаксисом: Accept-Charset: utf-8, iso-8859-1;q=0.5
Директивы
<charset>
- Кодировка типа
utf-8
илиiso-8859-15.
*
- Любая кодировка не указанная нигде в заголовке;
'*'
используется как групповой символ. ;q=
(q-factor weighting)- Любое значение помещается в порядке предпочтения, выраженного с использованием относительного значения качества, называемого весом.
Примеры
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
Спецификация
Specification | Title |
---|---|
RFC 7231, секция 5.3.3: Accept-Charset | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context |
Browser compatibility
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Смотрите так же
- HTTP content negotiation
- Header with the result of the content negotiation:
Content-Type
- Other similar headers:
TE
,Accept-Encoding
,Accept-Language
,Accept