指定http请求/响应的区域设置

时间:2010-03-17 19:38:43

标签: rest http-headers locale

我有一个ReSTful Web服务,需要从请求中解析区域设置敏感数据。此数据可以位于XML正文中,也可以位于查询字符串的一部分中。是否有任何通过哪种方式来确定数据的发送位置(以及扩展应该发送响应的区域设置)?

一个选项就是向客户端指定应该发送所有请求的语言环境。更友好的选择似乎是允许客户端指定语言环境。

我考虑过:

a)使用accept-language http标头对此信息进行编码。

b)对XML POST使用xml:lang属性,为查询字符串使用额外字段(例如......& locale = en-GB)

http://www.w3.org/International/questions/qa-accept-lang-locales警告使用接受语言标头的限制,但大多数警告似乎都是围绕源自浏览器的请求。在我的情况下,请求将来自其他应用程序。

非常感谢所有建议!

2 个答案:

答案 0 :(得分:7)

您的直接选择是Accept-Language,可能是Accept-Charset。另一个选择是使用将客户端IP映射到地理位置的数据库(尽可能)。这些数据库变得非常好。我想,但他们通常不是免费的(你需要付钱)。

答案 1 :(得分:3)

w3.org上对这个主题进行了精确而全面的讨论。快速摘要:您可以首先使用该语言,但请确保您的客户端可以更正您从中获取的语言环境设置,因为它可能错误。