我正在为我的移动客户端创建一个json API,并想知道是否已经有像User-Agent这样的标准来发送信息,比如
或者我的服务器想了解客户端设备的任何其他事情......
由于移动设备的使用越来越受欢迎,如果有某种标准似乎是合理的。
User-Agent
标题中发送所有这些信息(即使请求不是由浏览器发送的)?X-MyApp-...
?我知道我可以选择使用我喜欢的任何方法,因为它是我的api,我可以决定我想要的任何东西,但我很好奇是否有任何行业标准。
由于
答案 0 :(得分:3)
没有用于传达特定于设备的信息的标准HTTP标头。我无法谈论Android平台公开的信息,但我知道任何使用NSURLConnection发出HTTP请求的iOS应用程序都使用自定义的用户代理字符串,格式如下:
<App Name>/<App Version> CFNetwork/<CFNetwork version> Darwin/<kernel version>
您可以使用pretty handy list of CFNetwork versions来确定拨打电话的设备上运行的iOS版本。但是,值得注意的是,有时CFNetwork和内核版本在iOS版本之间不会发生变化。例如,iOS 6.1.2,6.1.3和6.1.4使用CFNetwork/609.1.4 Darwin/13.0.0
。
您最好的选择是定义自己的X-Header并准确传输您需要的信息。前缀X-Header将降低与另一个应用程序发生标头冲突的可能性,但由于向请求添加标头很简单,因此您不能排除欺骗或无效数据。