Content-Language - HTTP 编辑
Content-Language
是一个 entity header (实体消息首部),用来说明访问者希望采用的语言或语言组合,这样的话用户就可以根据自己偏好的语言来定制不同的内容。
举个例子,假如设置了这样一条消息首部( "Content-Language: de-DE
" ),那么说明这份文件是为说德语的人提供的(当然这并不意味着文件本身就是用德语写的。比如,它可能是为说德语的人开设的英语教程的一部分,也就是用英语写的)。
如果没有指明 Content-Language
,那么默认地,文件内容是提供给所有语言的访问者使用的。多个语言标签也是合法的,同样的,这个首部还可以用来描述不同媒体类型的文件,而不单单局限于文本型文档。
Header type | Entity header |
---|---|
Forbidden header name | no |
CORS-safelisted response-header | yes |
CORS-safelisted request-header | yes |
语法
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-Language | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
浏览器兼容性
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
相关内容
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论