Подтвердить что ты не робот

Что такое Content-Language и Accept-Language?

Я видел заголовки HTTP Content-Language и Accept-Language, может кто-нибудь объяснить, для чего они нужны, и разница между ними? У меня многоязычный сайт, и я задаюсь вопросом, должен ли я устанавливать оба пользователя на выбранный вами язык.

4b9b3361

Ответ 1

Content-Language, заголовок объекта, используется для описания языка (языков), предназначенного для аудитории, так что он позволяет пользователю различать в соответствии с предпочтительным языком пользователя. Заголовки сущностей используются как в HTTP-запросах, так и в ответах. 1

Accept-Language, HTTP-заголовок запроса, объявляет, какие языки клиент может понять и какой вариант локали является предпочтительным. 2 Может быть несколько языков, каждый с дополнительным значением веса или "качества". Например:

Accept-Language: da, en-GB;q=0.8, en;q=0.7

(Вес по умолчанию равен 1, так что это эквивалентно da;q=1, en-GB;q=0.8, en;q=0.7).

Вам нужно будет проанализировать значения и веса, чтобы увидеть, доступен ли соответствующий перевод, и предоставить пользователю перевод с наивысшим предпочтительным языковым весом.

Рекомендуется предоставить пользователям альтернативу, например, значение набора файлов cookie, для принудительной установки определенного языка для вашего сайта. Это связано с тем, что некоторые пользователи могут захотеть видеть ваш сайт на определенном языке, не меняя своих языковых предпочтений.

Ответ 2

Content-Language описывает язык, на котором предназначен определенный фрагмент контента. Accept-Language - это список языков, в которых пользовательский агент хочет получать контент. Лучший способ подумать о том, что Content-Language описывает контент, а Accept-Language передает предпочтение.

Ответ 3

Content-Language - это язык страницы, на которой вы работаете. Accept-Language - это список языков, которые вы ПРЕДОСТАВЛЯЕТ принять.

Ответ 4

Поле заголовка объекта Content-Language описывает естественный язык целевой аудитории для закрытого объекта. Обратите внимание, что это может быть не эквивалентно всем языкам, используемым в сущности.

Поле заголовка запроса Accept-Language ограничивает набор естественных языков, которые являются предпочтительными в качестве ответа на запрос

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

Ответ 5

Заголовок объекта Content-Language используется для описания языка (языков), предназначенных для аудитории, чтобы он позволял пользователю дифференцироваться в соответствии с собственным предпочтительным языком пользователей.

Header type                     Entity header
Forbidden header name           no
CORS-safelisted response-header yes
CORS-safelisted request-header  yes

- Веб-ссылка MDN - Заголовки HTTP - Content-Language

Заголовок HTTP Accept-Language запроса Accept-Language рекламирует языки, которые клиент может понять, и какой вариант локали предпочтительнее. (По языкам мы подразумеваем естественные языки, такие как английский, а не языки программирования.)

Header type                     Request header
Forbidden header name           no
CORS-safelisted request-header  yes

- Веб-ссылка MDN - Заголовки HTTP - Accept-Language