http-headers - 什么是内容语言和接受语言?

标签 http-headers request response

我看到了 Content-LanguageAccept-Language 的 HTTP header ,谁能解释一下它们的用途以及它们之间的区别?我有一个多语言网站,想知道我是否应该将两者都设置为用户当前选择的网站语言。

最佳答案

Content-Language,实体 header ,用于描述面向受众的语言,以便用户根据自己的首选语言进行区分。实体 header 用于 HTTP 请求和响应。 1

Accept-Language,一个请求 HTTP header ,通告客户端能够理解哪些语言,以及首选哪种语言环境变体。 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 设置值,以强制您的网站使用某种语言。这是因为某些用户可能希望以某种语言查看您的网站,而无需更改他们的语言接受偏好。

关于http-headers - 什么是内容语言和接受语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51704587/

相关文章:

javascript - 从 AJAX 命令返回 JSON 格式的响应

java - 通过 HTTPURLConnection 发送 cookie

java - 无法从请求 header 检索查询参数

python - 如何在发送 HTTP 204 之前刷新 Flask 中的 header ?

http - HTTP header 是否区分空格/大小写/顺序?

asp.net - 为什么 ASP.NET 框架会在响应中添加 'X-Powered-By:ASP.NET' HTTP header ?

c# - Request.CreateResponse向 postman 返回空白数据

go - 如何在 GO 中的 Conn 中编写响应(类型 Response)?

java - 如何在 Http POST 请求中发送图像文件? ( java )

android - 在 JSON 对象内将请求作为 JSON 参数发送