我已经看到了Content-Language
和的HTTP标头Accept-Language
,有人可以解释它们的用途以及它们之间的区别吗?我有一个多语言站点,我想知道我是否应该将这两个站点都设置为用户当前选择的语言。
Answers:
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
实体头用于描述语言(一个或多个),用于对于观众来说,使得其允许用户根据用户自己的优选语言区分。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