1

我最近注意到我访问的一些网站能够检测到我用来查看网站的设备,但我不确定他们是如何做到这一点的。

例如,音乐流媒体应用程序 www.rdio.com 提供两种不同的服务;一种用于移动设备,一种用于笔记本电脑和台式计算机。他们对移动设备收取 10 美元/月的费用,对台式机和笔记本电脑收取 5 美元/月的费用。

显然,他们必须有一个很好的方法来检测发送请求的设备,因为他们的业务模型取决于它。rdio 和其他公司是如何做到这一点的?到目前为止,我所想到的一切似乎都很糟糕。例如,如果它们依赖于 http 请求中的标头变量,它们如何防止欺骗?或者,如果他们在客户端使用 javascript 来检查浏览器功能,您可以检查哪些功能来准确确定设备类型?您是否查看屏幕分辨率,或者是否存在陀螺仪或其他东西,因为如果我有一台具有笔记本电脑分辨率的移动设备,或者一台带有陀螺仪的笔记本电脑怎么办?

网络服务器检查 HTTP 请求或浏览器的哪些功能以准确确定设备类型?

4

1 回答 1

3

它们依赖于User-Agent浏览器来确定客户端使用的是哪种设备。

当然,User-Agents 是可以被欺骗的,而且你没有什么可以做的来阻止它。

虽然已经尝试通过尝试调用特定于这些浏览器的功能来检测真正的浏览器类型,但这并不可靠。

User-Agent您可以在此处阅读更多信息。

于 2013-04-24T03:34:00.970 回答