--- title: Accept-Language slug: Web/HTTP/Headers/Accept-Language translation_of: Web/HTTP/Headers/Accept-Language original_slug: Web/HTTP/Заголовки/Accept-Language ---
Заголовок HTTP-запиту Accept-Language
повідомляє про те, які мови клієнт може зрозуміти, і який варіант локалі є кращим. (За мовами ми маємо на увазі природні мови, такі як англійська, а не мови програмування.) Потім, використовуючи узгодження вмісту, сервер вибирає одну з пропозицій, використовує її та інформує клієнта про свій вибір за допомогою заголовку відповіді {{HTTPHeader("Content-Language")}}. Браузери встановлюють адекватні значення для цього заголовка відповідно до їхньої мови інтерфейсу користувача, і, навіть, якщо користувач може змінити її, це трапляється рідко (і не схвалюється, оскільки це призводить до fingerprinting).
Цей заголовок є рекомендацією, яку слід використовувати, коли сервер не має можливості визначити мову іншим способом, наприклад, через конкретну URL-адресу, яка керується явним рішенням користувача. Рекомендується, щоб сервер ніколи не перевизначав явне рішення. Зміст Accept-Language
часто не керується користувачем (як, наприклад, під час подорожі та використання Інтернет-кафе в іншій країні); користувач може також захотіти відвідати сторінку іншою мовою, ніж локалі свого інтерфейсу користувача.
Якщо сервер не може обслуговувати будь-яку відповідну мову, він теоретично може відправити код помилки {{HTTPStatus("406")}} (Not Acceptable). Але, з кращого досвіду це робиться рідко, замість цього кращим способом є ігнорування у цьому випадку заголовка Accept-Language
.
Тип заголовку | {{Glossary("Request header")}} |
---|---|
{{Glossary("Forbidden header name")}} | ні |
{{Glossary("Simple header", "CORS-safelisted request-header")}} | yes |
Accept-Language: <language> Accept-Language: * // Multiple types, weighted with the {{glossary("quality values", "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-factor weighting)Accept-Language: de Accept-Language: de-CH Accept-Language: en-US,en;q=0.5
Specification | Title |
---|---|
{{RFC("7231", "Accept-Language", "5.3.5")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context |
BCP 47 | Tags for the Identification of Language |
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.
{{Compat("http.headers.Accept-Language")}}