Я видел заголовки HTTP Content-Language
и Accept-Language
мог бы кто-нибудь объяснить, для чего они нужны и в чем разница между ними? У меня есть многоязычный сайт, и мне интересно, должен ли я устанавливать оба сайта на текущий выбранный язык пользователем.
http-headers
request
response
любитель
источник
источник
Ответы:
Content-Language
, заголовок объекта, используется для описания языка (языков), предназначенного для аудитории, так что он позволяет пользователю различать в соответствии с его собственным предпочтительным языком. Заголовки сущностей используются как в HTTP-запросах, так и в ответах. 1Accept-Language
HTTP-заголовок запроса, объявляющий, какие языки могут понимать клиент и какой вариант языкового стандарта является предпочтительным. 2 Может быть несколько языков, каждый из которых имеет необязательное значение веса или качества. Например:(Вес по умолчанию равен 1, что эквивалентно
da;q=1, en-GB;q=0.8, en;q=0.7
).Вам нужно будет проанализировать значения и веса, чтобы увидеть, доступен ли соответствующий перевод, и предоставить пользователю перевод с наивысшим предпочтительным языковым весом.
Рекомендуется предоставить пользователям альтернативу, например значение набора файлов cookie, для принудительного выбора определенного языка для вашего сайта. Это связано с тем, что некоторые пользователи могут захотеть видеть ваш сайт на определенном языке, не меняя своих языковых предпочтений.
источник
Content-Language
описывает язык, для которого предназначен конкретный фрагмент контента.Accept-Language
- это список языков, на которых пользовательский агент хочет контент. Лучше всего думать об этом,Content-Language
описывая контент иAccept-Language
передавая предпочтения.источник
Content-Language - это язык страницы, которую вы обслуживаете. Accept-Language - это список языков, которые вы предпочитаете принимать.
источник
Поле заголовка объекта Content-Language описывает естественный язык (языки) целевой аудитории для вложенного объекта. Обратите внимание, что это может быть не эквивалентно всем языкам, используемым в теле объекта.
Поле заголовка запроса Accept-Language ограничивает набор естественных языков, которые предпочтительны в качестве ответа на запрос.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
источник
источник