ios - Apache BrowserMatch iOS 禁用 keepalive。匹配所有 iOS 版本?

标签 ios apache httpd.conf keep-alive

由于 iOS 8 及更高版本中的 NSURLRequest 超时问题,我不得不关闭我的 apache 服务器中的保持事件状态。我读到了这个 https://stackoverflow.com/a/25996971/3162662关于如何设置 BrowserMatch,我在 httpd.conf 中是这样做的:

<IfModule setenvif_module>
  BrowserMatch "iOS 8\." nokeepalive
</IfModule>

但我想知道这是否只适用于 iOS 8? iOS 9 呢?如何匹配来自 iOS 的所有请求?

谢谢!

最佳答案

根据 this table os Safari user agents ,您似乎可以像这样按设备定位:

BrowserMatch "iPhone" nokeepalive #All iPhones
BrowserMatch "iPhone|iPad|iPod" nokeepalive #All iPhones, iPads and iPods

如果你想针对特定的系统版本,我会选择类似的东西:

BrowserMatch "iPhone.*OS\s8" nokeepalive #All iPhones on iOS 8
BrowserMatch "iPhone.*(OS\s8|OS\s9)" nokeepalive #All iPhones on iOS 8

我已经快速检查了 Chrome 和 Firefox 的 iOS 用户代理,看起来相同的正则表达式可以工作。当然,所有这些都需要一些测试。

关于ios - Apache BrowserMatch iOS 禁用 keepalive。匹配所有 iOS 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34170284/

相关文章:

ios - '-[CIContext initWithOptions :]: unrecognized selector sent to instance

php - Ubuntu 允许 www-data 写入新文件

php - 如何更改XAMPP Web服务器根文件?

linux - 为什么所有不匹配的流量都转到第一个 VirtualHost 而不是 httpd.conf 中的默认站点配置

php - RHEL 7.4 未加载 httpd 的 php 扩展并且也无法配置它

ios - 我无法将测试人员添加到 iTunes Connect : Users and Roles → TestFlight Beta Testers → Internal

ios - 如何从 PhotoLibrary iOS 获取视频的正确方向

apache - NetBeans TomCat Servlet 通过互联网访问

Apache LimitExcept 仅适用于 GET 和 POST 方法

ios - 无法在 Swift 类中为选择器使用参数