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

时间:2013-02-06 12:04:25

标签: ios https nsurlconnection afnetworking keep-alive

我们目前正在处理应用程序中的性能问题,我们认为其中一些问题可能与应用程序和底层AFNetworking网络堆栈似乎忽略HTTP 1.1上的keep-alive这一事实有关。 / p>

我们从Apple获得的信息表明,持续连接分别在3秒,6秒或30秒后被清除,具体取决于iOS版本和WiFi / WWAN连接,无论服务器端保持活动信息如何。

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

虽然我们了解iOS清除连接以保持较低的电池消耗,但我们想知道它不能正确终止现有连接并将终止推迟到新请求的开始。

有人可以解释这种行为,并建议解决方案,避免在常规条件下保持活动所涵盖的连接中进行昂贵的SSL握手吗?

1 个答案:

答案 0 :(得分:0)

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