我最近注意到我访问的一些网站能够检测到我用来查看网站的设备,但我不确定他们是如何做到这一点的。
例如,音乐流媒体应用程序 www.rdio.com 提供两种不同的服务;一种用于移动设备,一种用于笔记本电脑和台式计算机。他们对移动设备收取 10 美元/月的费用,对台式机和笔记本电脑收取 5 美元/月的费用。
显然,他们必须有一个很好的方法来检测发送请求的设备,因为他们的业务模型取决于它。rdio 和其他公司是如何做到这一点的?到目前为止,我所想到的一切似乎都很糟糕。例如,如果它们依赖于 http 请求中的标头变量,它们如何防止欺骗?或者,如果他们在客户端使用 javascript 来检查浏览器功能,您可以检查哪些功能来准确确定设备类型?您是否查看屏幕分辨率,或者是否存在陀螺仪或其他东西,因为如果我有一台具有笔记本电脑分辨率的移动设备,或者一台带有陀螺仪的笔记本电脑怎么办?
网络服务器检查 HTTP 请求或浏览器的哪些功能以准确确定设备类型?