2017-04-05 202 views
1

我的第一个http POST请求到我的服务器的响应时间很慢。iOS网络中的第一个http请求很慢,后续请求速度更快

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

第一个响应大致为0.7s-0.9s,而后续的请求为0.2s。

我猜这是由于服务器保持活动状态,因此无需为每个请求建立新的会话。

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

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

回答

0

进一步调查,我尝试发送一个https连接请求,然后发出第一个“真正”POST请求,并行为复制。

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

理论上这是有道理的,因为建立一个https连接占用了几个(总共12个)数据包,而且我处于欧洲大陆连接。

所以我的解决方案是发送一个CONNECT请求,当我期望用户发送一个正常的请求。