Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. HTTP
  3. Reference
  4. Заголовки HTTP
  5. Accept-Language

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Accept-Language

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨июль 2015 г.⁩.

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

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

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

Header typeRequest header
Forbidden header nameнет
CORS-safelisted request-headerда

Синтаксис

Accept-Language: <language>Accept-Language: <locale>Accept-Language: *// Multiple types, weighted with thequality value syntax:Accept-Language: fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5

Директивы

<language>

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

*

Любой язык;'*' обозначает любое значение.

;q= (q-factor weighting)

Любое из значений, размещённых в порядке предпочтения, выраженном позициейquality value, которое называютвесами.

Примеры

Accept-Language: *Accept-Language: deAccept-Language: de-CHAccept-Language: en-US,en;q=0.5Accept-Language: fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5Accept-Language: ru-RU, ru;q=0.9, en-US;q=0.8, en;q=0.7, fr;q=0.6

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

СпецификацияНазвание
RFC 7231, раздел 5.3.5: Accept-LanguageHypertext Transfer Protocol (HTTP/1.1): Semantics and Context

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

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

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp