Spec-Zone.ru › HTTP

Accept-Language

Accept-Language

Заголовок запроса HTTP Accept-Language указывает естественный язык и локаль, которые предпочитает клиент. Сервер использует переговоры о содержимом, чтобы выбрать один из предложенных вариантов и сообщает клиенту об этом с помощью заголовка ответа Content-Language. Браузеры устанавливают необходимые значения для этого заголовка в соответствии с активным языком пользовательского интерфейса. Пользователи редко его изменяют, и такие изменения не рекомендуются, потому что они могут привести к отслеживанию пользователя.

Этот заголовок служит подсказкой, когда сервер не может определить целевой язык содержимого другим способом (например, использование определенного URL-адреса, зависящего от явного решения пользователя). Сервер никогда не должен переопределять явный выбор языка пользователя. Содержимое Accept-Language часто находится вне контроля пользователя (например, во время путешествий). Пользователь также может захотеть посетить страницу на языке, отличном от языка пользовательского интерфейса.

Сервер, возможно, может вернуть код ошибки 406 (Неприемлемо), если не может предоставить содержимое на соответствующем языке. Однако такое поведение редко реализуется для лучшего пользовательского опыта, и серверы часто игнорируют заголовок Accept-Language в таких случаях.

Тип заголовка Заголовок запроса
Запрещённое имя заголовка нет
Заголовок запроса, включенный в CORS да, с дополнительным ограничением, что значения могут быть только 0-9, A-Z, a-z, пробелом или *,-.;=.

Синтаксис

Accept-Language: <language>
Accept-Language: *

// Multiple types, weighted with the quality value syntax:
Accept-Language: fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5

Директивы

<language>

Языковой тег (иногда называемый "идентификатором локали"). Он состоит из языкового тега из 2-3 букв, обозначающего язык, за которым необязательно следуют дополнительные подтеги, разделенные '-'. Наиболее распространённая дополнительная информация — это страна или регион (например, 'en-US' или 'fr-CA') или тип используемого алфавита (например, 'sr-Latn'). Другие варианты, такие как тип орфографии ('de-DE-1996'), обычно не используются в контексте этого заголовка.

*

Любой язык; '*' используется в качестве подстановки.

;q= (взвешивание с помощью q-фактора)

Любое значение, размещённое в порядке предпочтения, выраженное с использованием относительного значения качества, называемого весом.

Примеры

Accept-Language: de
Accept-Language: de-CH
Accept-Language: en-US,en;q=0.5

Спецификации

Спецификация
Семантика HTTP
# field.accept-language

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet
Accept-Language
Да
12
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да

См. также

  • HTTP переговоры о содержимом
  • Заголовок с результатом переговоров о содержимом: Content-Language
  • Другие похожие заголовки: TE, Accept-Encoding, Accept

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API