HTTP标头`Accept-Language`:服务器应该严格使用它还是仅作为首选项?

时间:2015-04-05 11:54:33

标签: http http-headers http-accept-language

我想知道如果服务器具有所请求的资源但服务器没有指定的语言,服务器应该如何使用HTTP标头"Accept Language"。服务器是否应该返回任何类型的错误(404,或者#34;资源未找到"等)或成功但是使用可用语言的资源?

在这种情况下,HTTP规范是否提及或建议使用?
我读过"RFC2616 - 14.4 Accept-Language",但我不太清楚。

我知道快速解决方案是将Accept Language: *添加到标题中,但我想了解这里的内容并尝试在右侧解决此问题(可能是服务器或客户端)

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

首先,不推荐使用RFC 2616,您应该参考RFC 7230-7235。

RFC 7231 – 5.3.5. Accept-Language中,您可以阅读:

  

如果是标题字段      存在于请求中,并且没有可用的表示形式      响应具有匹配的语言标记,原始服务器可以      要么通过将响应视为响应来忽略标题字段      不受内容协商或尊重标题字段      发送406(不可接受)响应。但是,后者不是      鼓励,因为这样做可以防止用户访问内容      他们也许能够使用(例如翻译软件)。

因此要么忽略标题并使用默认语言表示进行响应。或者回应该请求是不可接受的,这是作者不鼓励的。但是,您可以使用406响应来提供可用语言表示的列表。