Accept-Language 请求标头字段类似于 Accept,但限制了作为对请求的响应首选的自然语言集。 Language Tags here
Accept-Language = "Accept-Language" ":"
1#( language-range [ ";" "q" "=" qvalue ] )
language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )
可以为每个语言范围指定一个相关的质量值,该值表示用户对该范围指定语言的偏好的估计。质量值默认为“q=1”。例如,
Accept-Language: da, en-gb;q=0.8, en;q=0.7
意思是:“我更喜欢丹麦语,但会接受英式英语和其他类型的英语。”如果语言范围完全等于标记,或者如果它完全等于标记的前缀,则语言范围匹配语言标记,这样前缀后面的第一个标记字符是“-”。特殊范围“*”,如果存在于 Accept-Language 字段中,则匹配 Accept-Language 字段中存在的任何其他范围不匹配的每个标签。
Note: This use of a prefix matching rule does not imply that
language tags are assigned to languages in such a way that it is
always true that if a user understands a language with a certain
tag, then this user will also understand all languages with tags
for which this tag is a prefix. The prefix rule simply allows the
use of prefix tags if this is the case.
Accept-Language 字段分配给语言标签的语言质量因子是该字段中与语言标签匹配的最长语言范围的质量值。如果字段中没有语言范围与标签匹配,则分配的语言质量因子为 0。如果请求中不存在 Accept-Language 标头,则服务器
应该假设所有语言都同样可以接受。如果存在 Accept-Language 标头,则所有分配质量因子大于 0 的语言都是可接受的。
在每个请求中发送带有用户完整语言偏好的 Accept-Language 标头可能与用户的隐私期望相反。
由于可理解性高度依赖于单个用户,因此建议客户端应用程序为用户提供语言偏好选择。如果选择不可用,则不得在请求中提供 Accept-Language 标头字段。
注意:在选择语言偏好时,
用户,我们提醒实施者用户不是
熟悉上述语言匹配的细节,
并应提供适当的指导。例如,用户
可能会假设在选择“en-gb”时,他们将获得任何
如果不提供英式英语,则应提供一种英文文件。一种
用户代理可能会建议在这种情况下添加“en”来获取
最佳匹配行为。
例子:
connection.setRequestProperty("Accept-Language","<!-- Depends on Language you want -->");
希望有帮助!
来源: