Accept-Charset

Вы читаете английскую версию этой статьи, так как пока нет перевода на данный язык. Помогите нам перевести эту статью!

Заголовок 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

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
Accept-CharsetChrome Нет поддержки ? — 27Edge Нет поддержки НетFirefox Нет поддержки ? — 10IE Нет поддержки ? — 8Opera Нет поддержки ? — 11Safari Нет поддержки ? — 5WebView Android Нет поддержки ? — ?Chrome Android Нет поддержки ? — 27Firefox Android Нет поддержки ? — 10Opera Android Нет поддержки ? — 11Safari iOS Нет поддержки ? — 4.2Samsung Internet Android Нет поддержки ? — 1.5

Легенда

Нет поддержки  
Нет поддержки

Смотрите так же