我想知道如果服务器具有所请求的资源但服务器没有指定的语言,服务器应该如何使用HTTP标头"Accept Language"
。服务器是否应该返回任何类型的错误(404,或者#34;资源未找到"等)或成功但是使用可用语言的资源?
在这种情况下,HTTP规范是否提及或建议使用?
我读过"RFC2616 - 14.4 Accept-Language",但我不太清楚。
我知道快速解决方案是将Accept Language: *
添加到标题中,但我想了解这里的内容并尝试在右侧解决此问题(可能是服务器或客户端)
感谢任何帮助。
答案 0 :(得分:2)
首先,不推荐使用RFC 2616,您应该参考RFC 7230-7235。
在RFC 7231 – 5.3.5. Accept-Language中,您可以阅读:
如果是标题字段 存在于请求中,并且没有可用的表示形式 响应具有匹配的语言标记,原始服务器可以 要么通过将响应视为响应来忽略标题字段 不受内容协商或尊重标题字段 发送406(不可接受)响应。但是,后者不是 鼓励,因为这样做可以防止用户访问内容 他们也许能够使用(例如翻译软件)。
因此要么忽略标题并使用默认语言表示进行响应。或者回应该请求是不可接受的,这是作者不鼓励的。但是,您可以使用406响应来提供可用语言表示的列表。