iOS网络中的第一个http请求很慢,后续请求要快得多

时间:2017-04-05 12:21:28

标签: ios node.js android-volley alamofire

我的第一个http POST请求到服务器的响应时间很慢。

在Android和iOS网络库中都会发生这种情况。 (Android上的Volley和iOS上的Alamofire)。

第一个响应大约是0.7s-0.9s,而后续请求是0.2s。

我猜这是因为会话被服务器保持活着,因此无需在每个请求上建立新会话。

我想我可以在应用程序开始启动会话时发出虚拟请求,但它看起来并不优雅。

我也控制服务器端(Node.js),所以如果需要在那里进行任何配置,我也可以尝试。

1 个答案:

答案 0 :(得分:0)

稍微调查一下,我尝试发送一个https CONNECT请求,然后发出第一个" real" POST请求,并且行为会复制。

大约30秒后,连接被删除(可能在iOS URLSession级别,负载均衡器配置为将连接保持为60秒)。

理论上这是有道理的,因为建立一个https连接会占用几个(总共12个)数据包而我会在洲际连接上。

所以我的解决方案是在我希望用户发送常规请求时发送CONNECT请求。