Ios AFNetworking/NSURLConnection HTTPS keep alive显示出奇怪的行为

Ios AFNetworking/NSURLConnection HTTPS keep alive显示出奇怪的行为,ios,https,nsurlconnection,afnetworking,keep-alive,Ios,Https,Nsurlconnection,Afnetworking,Keep Alive,我们目前正在处理应用程序中的一个性能问题,我们认为其中一些问题可能与应用程序和底层AFNetworking网络堆栈似乎忽略了HTTP 1.1上的保持活动有关 我们从苹果得到的信息是,无论服务器端保持活动信息如何,持久连接分别在3、6或30秒后被清除,具体取决于iOS版本和WiFi/WWAN连接 在监控服务器上的连接握手时,我们注意到一种奇怪的行为,即iOS设备上应用程序的SSL连接保持打开状态,而不是使用FIN数据包关闭。一旦应用程序发出新请求,前一个请求的剩余连接就会用FIN数据包关闭,并创建

我们目前正在处理应用程序中的一个性能问题,我们认为其中一些问题可能与应用程序和底层AFNetworking网络堆栈似乎忽略了HTTP 1.1上的保持活动有关

我们从苹果得到的信息是,无论服务器端保持活动信息如何,持久连接分别在3、6或30秒后被清除,具体取决于iOS版本和WiFi/WWAN连接

在监控服务器上的连接握手时,我们注意到一种奇怪的行为,即iOS设备上应用程序的SSL连接保持打开状态,而不是使用FIN数据包关闭。一旦应用程序发出新请求,前一个请求的剩余连接就会用FIN数据包关闭,并创建一个新连接

虽然我们知道iOS会清除连接以保持低电池消耗,但我们怀疑它不会正确终止现有连接,并将终止延迟到新请求的开始


有人能解释一下这种行为,并提出一些解决方案,以避免在正常情况下保持活动所涵盖的连接中进行昂贵的SSL握手吗?

几周前,我遇到了同样的问题。
解决方案是强制Web服务器忽略来自iOs设备的keepalive http头并立即关闭连接。

哪些iOs版本受到影响?哪些WWDC sesstion?顺便说一句,持久化连接由网络层处理。据我所知,没有API来改变行为。您可以看看ASIHttpRequest如何支持持久连接。因此,此问题与AFNetworking或NSURLConnection无关。我想我们很可能什么都没做。@Adam-据我所知,iOS 8影响了它。这里还有一个问题与您的意思有关,就是说您以不支持保持活动连接的方式配置了Web服务器,所以问题不会出现