Content-Language
用法
Content-Language 头表示资源面向的目标受众,而不一定是资源本身所使用的语言。一段面向英语受众提供的法语文本片段,其内容语言仍为 en,因为受众语境比文本的字面语言更为重要。
服务器结合内容协商使用该头,以提供合适的语言变体。当客户端发送 Accept-Language 请求头列出偏好语言时,服务器选择最匹配的变体并通过 Content-Language 确认所选结果。
多个语言标签以逗号分隔。每个标签遵循 BCP 47 格式,由主语言子标签与可选的地区、脚本子标签组合而成。
单个语言标签
单个 BCP 47 标签标识一种语言,并可选地标识一个地区。常见示例包括 en、en-US、de-DE 与 zh-Hans-CN。
多个语言标签
以逗号分隔的列表表示内容面向多种语言的使用者。列表顺序并不代表优先级。
Content-Language: en, fr
示例
服务器返回一个面向澳大利亚英语受众的页面。语言标签 en-AU 表示主语言为英语,地区变体为澳大利亚。
Content-Language: en-AU
一份同时面向德语和法语受众的双语文档会列出两个语言标签。
Content-Language: de, fr
服务器根据客户端请求执行内容协商,选择西班牙语变体,并在响应中确认该选择。
Accept-Language: es, en;q=0.8
Content-Language: es
SEO 与 Content-Language
Content-Language(无论作为 HTTP 头还是 HTML meta 标签)是 Bing 的主要语言信号,Bing 在对不同地区变体排名时对 Content-Language 的权重高于 Hreflang。Google 依赖算法进行语言检测,仅将 Content-Language 视为一个弱提示。对于面向 Bing 的国际化站点而言,设置 Content-Language 比单独使用 hreflang 更有影响力。