【问题标题】:HTTP/2 support for iOS 8对 iOS 8 的 HTTP/2 支持
【发布时间】:2015-10-14 17:16:53
【问题描述】:

我尝试了 Xcode 7 Beta + NSURLSession,它已经支持 HTTP/2,而且效果非常好。

现在我想知道,当我发布使用 iOS 9 SDK 构建但支持 iOS 8 的应用程序时 - iOS 8 用户是否能够使用 HTTP2 ? 还是只适用于 iOS 9?

【问题讨论】:

标签: ios nsurlsession http2


【解决方案1】:

我在 Apple Developers Forum 上问过同样的问题,他们给出了非常明确的答案:

HTTP/2 支持是 iOS 9 的一部分,因此在 较早的操作系统版本。

https://forums.developer.apple.com/message/31667

但困扰我的是 iOS 8 的行为。我仍然很困惑 你的实际问题。我怀疑你说的是这个案子:

  1. 您使用 NSURLSession 构建应用程序
  2. 您部署了支持 HTTP/2 的服务器
  3. 在 iOS 9 上,这将通过 HTTP/2 与您的服务器通信
  4. 在 iOS 8 上,这将通过 HTTP/1.1 或 SPDY 与您的服务器通信
  5. 在 iOS 7 上,这将通过 HTTP/1.1 与您的服务器通信

这是否有效取决于您的服务器。忽略 iOS 8 和 SPDY 目前,考虑 iOS 7 案例。这里的iOS很简单 将打开连接并发送 HTTP 命令。你的什么 服务器在那种情况下呢?它应该正确处理它,但iOS不能 保证。

OTOH,如果我从字面上阅读您的原始问题,您似乎是 询问这个案例:

  1. 您使用 NSURLSession 构建应用程序
  2. 您部署了支持 HTTP/2 的服务器
  3. 在 iOS 9 上,这将通过 HTTP/2 与您的服务器通信
  4. 在 iOS 8 上,它会发送 HTTP/2 请求吗?

这里的答案是否定的:HTTP/2 支持是 iOS 9 的一部分,因此 在较早的操作系统版本中不可用。 OTOH,iOS 8 确实有 支持 SPDY。请参阅 WWDC 2014 会议 707 基金会的新功能 网络了解详情。

【讨论】:

    【解决方案2】:
    HTTP/2 supported by iOS 9 + NSURLSession.
    

    NSURLConnection 已弃用。

    【讨论】:

      猜你喜欢
      • 2015-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-03
      • 2017-01-03
      • 2015-05-07
      • 1970-01-01
      • 2015-12-20
      相关资源
      最近更新 更多