ipad用户代理在使用过程中发生变化?

Posted

技术标签:

【中文标题】ipad用户代理在使用过程中发生变化?【英文标题】:ipad user agent changes during use? 【发布时间】:2011-03-18 15:10:51 【问题描述】:

在我们网站的日志中,我们偶尔会看到 iPad 的用户代理从一组请求“切换”到下一组请求。

在一组同时发生的请求上,用户代理将如下所示(这是我们大多数时间在 iPad 上看到的用户代理样式):

mozilla/5.0+(ipad;+u;+cpu+os+4_2_1+like+mac+os+x;+en-us)+applewebkit/533.17.9+(khtml,+like+gecko)+版本/5.0.2+mobile/8c148+safari/6533.18.5

然后用户点击链接或按钮;下一系列请求将具有如下用户代理设置:

mozilla/5.0+(ipad;+u;+cpu+os+4_2_1+like+mac+os+x;+en-us)+applewebkit/533.17.9+(khtml,+like+gecko)+mobile /8c148

请注意第二个中缺少 safari 和版本字段。我们正在尝试了解 iPad 上的哪些操作或功能会导致此切换发生,因此我们可以在我们的测试环境中复制它。

【问题讨论】:

我想知道在headers中发送referer信息时是否发送缩短版本? 好的,在此答案中找到了更多信息:***.com/questions/2153877/what-is-the-ipad-user-agent/… 看起来您可以通过启用 apple-mobile-web-app-capable 来发送此信息。我们的页面上没有这个标签,但我们现在正在调查是否有人在我们的网站上设置了一个网络剪辑来启用它。 【参考方案1】:

发布我与此相关的所有发现: 看起来差异实际上是 web-app 模式和 safari 模式之间的差异。您将在 web-app 模式下获得短用户代理(并且没有浏览器栏),在 safari 模式下获得长用户代理。有两种方法可以进入 Web 应用模式:

    创建一个网络剪辑并选中“全屏”复选框 为您的网站添加元标记<meta name="apple-mobile-web-app-capable" content="yes">

至于为什么我们会看到来自同一个用户的两个用户代理?当您以网络应用模式进入网站时,单击链接将交换网络应用并在 Safari 中重新打开页面。这也会导致 cookie 被清除,可能会与您的身份验证方案发生冲突。

【讨论】:

以上是关于ipad用户代理在使用过程中发生变化?的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 检测 iPad 应用内浏览器用户代理

Webview中的iOS 13 iPad用户代理问题

轻松理解:正向代理反向代理负载均衡

Springboot源码分析之代理三板斧

从用户代理中识别 iOS 设备的好方法是啥?

有没有办法在 Rails 3.1 中检测用户代理 [重复]