Content-Language - HTTP 编辑

Content-Language 是一个 entity header (实体消息首部),用来说明访问者希望采用的语言或语言组合,这样的话用户就可以根据自己偏好的语言来定制不同的内容。

举个例子,假如设置了这样一条消息首部( "Content-Language: de-DE" ),那么说明这份文件是为说德语的人提供的(当然这并不意味着文件本身就是用德语写的。比如,它可能是为说德语的人开设的英语教程的一部分,也就是用英语写的)。

如果没有指明  Content-Language,那么默认地,文件内容是提供给所有语言的访问者使用的。多个语言标签也是合法的,同样的,这个首部还可以用来描述不同媒体类型的文件,而不单单局限于文本型文档。

Header typeEntity header
Forbidden header nameno
CORS-safelisted response-headeryes
CORS-safelisted request-headeryes

语法

Content-Language: de-DE
Content-Language: en-US
Content-Language: de-DE, en-CA

指令

language-tag
多个语言标签需要用逗号隔开。每一个语言标签都是由一个或多个不区分大小写的子标签构成的,子标签之间用连字号 ("-", %x2D)隔开。通常情况下,一个语言标签是由标识一个大的语言家族的主语言子标签(例如"en" = English),以及后面可选的用来缩小语言范围使更确切的一系列子标签("en-CA" 表示在加拿大范围使用的英语的变种)构成的。

注意: 语言标签在 RFC 5646中被正式定义,它使用的语言代码依赖于 ISO 639 标准(通常为 ISO 639-1 code list) 。

示例

声明文档的书写语言

全局的 lang 属性使用在HTML元素去表达全部的 HTML文档或者部分的语言。

<html lang="de">

不要使用这个meta元素去声明文档语言:

<!-- /!\ This is bad practice -->
<meta http-equiv="content-language" content="de">

为资源指定目标访问者

Content-Language 请求头用于指定页面的目标受众,并且可以指明当前页面存在多种语言.

Content-Language: de, en

规范

规格表头
RFC 7231, section 3.1.3.2: Content-LanguageHypertext Transfer Protocol (HTTP/1.1): Semantics and Content

浏览器兼容性

BCD tables only load in the browser

相关内容

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:57 次

字数:5233

最后编辑:6 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文