【问题标题】:First http request in iOS networking is slow, subsequent requests are much fasteriOS网络中的第一个http请求很慢,后续请求要快得多
【发布时间】:2017-04-05 22:37:19
【问题描述】:

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

这发生在 Android 和 iOS 网络库中。 (Android 上的 Volley 和 iOS 上的 Alamofire)。

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

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

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

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

【问题讨论】:

    标签: ios node.js android-volley alamofire


    【解决方案1】:

    进一步调查,我尝试在发出第一个“真正的”POST 请求之前发送一个 https CONNECT 请求,并且行为复制了。

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-03-06
      • 1970-01-01
      • 2011-03-23
      • 2016-06-24
      • 2018-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-08
      相关资源
      最近更新 更多