Что такое Content-Language и Accept-Language?
Я видел заголовки HTTP Content-Language
и Accept-Language
, может кто-нибудь объяснить, для чего они и разница между ними? У меня есть многоязычный сайт и интересно, должен ли я устанавливать как на текущий выбранный язык сайтов, пользователем.
5 ответов
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, чтобы заставить определенный язык для вашего сайт. Это связано с тем, что некоторые пользователи могут захотеть увидеть ваш сайт на определенном языке, не меняя своих предпочтений приема языка.
Content-Language
описывает язык, для которого предназначен конкретный контент. Accept-Language
- Это список языков, на которых агент пользователя хочет получить контент. Лучший способ думать об этом-это Content-Language
описывает содержание и Accept-Language
передает предпочтений.
Content-Language - это язык страницы, которую вы обслуживаете. Принять-Язык - это список языков, которые вы предпочитаете принимать.
поле content-Language entity-header описывает естественный язык(ы) целевой аудитории для вложенного объекта. Обратите внимание, что это может быть не эквивалентно всем языкам, используемым в теле сущности.
поле Accept-Language request-header ограничивает набор естественных языков, которые предпочтительны в качестве ответа на запрос
на
Content-Language
заголовок сущность используется для описания языка(ов), предназначенных для аудитории, так что это позволяет пользователю дифференцировать в соответствии с собственным предпочтительным языком пользователей.Header type Entity header Forbidden header name no CORS-safelisted response-header yes CORS-safelisted request-header yes
на
Accept-Language
запрос HTTP заголовок объявляет, какие языки клиент в состоянии понять, и какой вариант языкового стандарта является предпочтительным. (По языков, мы имеем в виду естественные языки, такие как английский, а не языки программирования.)Header type Request header Forbidden header name no CORS-safelisted request-header yes