3

すでに HTTP/2 をサポートしている Xcode 7 Beta + NSURLSession を試してみましたが、驚くほどうまく機能します。

iOS 9 SDK でビルドされ、iOS 8 をサポートするアプリをリリースすると、iOS 8 ユーザーは HTTP2 を使用できるようになりますか? または、iOS 9 でのみ機能しますか?

4

2 に答える 2

14

Apple Developers Forum で同じ質問をしたところ、非常に明確な回答が得られました。

HTTP/2 サポートは iOS 9 の一部であるため、以前の OS リリースでは利用できません。

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 の一部であるため、以前の OS リリースでは利用できません。OTOH、iOS 8 は SPDY をサポートしています。詳細については、WWDC 2014 セッション 707 What's New in Foundation Networking を参照してください。

于 2015-07-24T10:28:17.857 に答える