Answers:
我认为唯一的区别是User-Agent:
请求中的标头。
以下是Chrome在我的Android设备上发送的User-Agent标头:
Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19
注意第一个中的“ Mobile”一词,还提到了Android系统和设备。检查这些,我发现它还提供了虚假信息(即X11和x86_64),以与桌面Linux版本发送的值非常匹配。铬。
只是想指出,User-Agent
如果您“请求桌面网站” ,Chrome现在不仅会更改,而且会忽略原始视口元标记。因此,不再需要嗅探User-Agent
了,您可以像大多数响应站点一样自动依赖视口更改。请参阅此更改以获取更多参考。
另一个细微的区别是,该请求似乎是在任何重定向器将其移到该URL之前到达的。例如:
给定: somesite.com嗅探该代理,查看Android并执行document.location + =“ / m”;
然后:浏览器的URL为somesite.com/m
但是:如果您“请求桌面站点”,它将更改User-Agent并从somesite.com重新请求
除非:您首先直接进入somesite.com/m的移动URL,在这种情况下,它只是重新加载somesite.com/m。
我希望这适用于HTTP 301和302重定向,我知道它适用于document.location更改(至少如上所述),并且推测它适用于<meta>刷新。