什么是内容语言和接受语言?

ama*_*eur 65 response request http-headers

我见过的HTTP报头Content-LanguageAccept-Language,可能有人解释这是什么意思了,它们之间的区别?我有一个多语言网站,并想知道我应该由用户设置两个网站当前选定的语言.

ont*_*ia_ 90

Content-Language实体标题用于描述供观众使用的语言,以便用户根据用户自己的首选语言进行区分.实体标头用于HTTP请求和响应.1

Accept-Language,请求HTTP标头,通告客户端能够理解的语言,以及首选的区域设置变体.2可以有多种语言,每种语言都有可选的权重或"质量"值.例如:

Accept-Language: da, en-GB;q=0.8, en;q=0.7
Run Code Online (Sandbox Code Playgroud)

(默认权重为1,因此相当于da;q=1, en-GB;q=0.8, en;q=0.7).

您将不得不解析值和权重以查看是否有适当的翻译,并为用户提供最高首选语言权重的翻译.

建议您为用户提供替代方案,例如Cookie设置值,以强制为您的网站使用某种语言.这是因为某些用户可能希望以某种语言查看您的网站,而不会更改其语言接受偏好.

  • 轻微调整您的答案:Content-Language是一个内容标题,因此它适用于从服务器到客户端或从客户端到服务器的内容. (13认同)

D.S*_*ley 18

Content-Language描述特定内容所针对的语言. Accept-Language是用户代理想要内容的语言列表.想到这一点的最佳方式是Content-Language描述内容并Accept-Language传达偏好.


小智 13

内容 - 语言是您所服务的网页的语言. Accept-Language是您希望接受的语言列表.


小智 5

Content-Language entity-header字段描述了所包含实体的目标受众的自然语言.请注意,这可能与entity-body中使用的所有语言不同.

Accept-Language请求标头字段限制首选的自然语言集作为对请求的响应

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