2016-08-12 7 views
2

ほとんどのブラウザではページを読み込むためにhttp/2がサポートされていますが、XmlHttpRequestを使用してAPIコールを作成すると、JavaScriptを使用してAPI呼び出しを行うにはHttp/2を使用してください

さらに具体的には、私はXmlHttpRequestを使用してデータをフェッチするために2回コールすると、両方が同じtcp接続を使用することを保証していますか?私が読んだドキュメントは、XmlHttpRequestのhttp2サポートについて明記していません。また、http2接続を明示的に開く方法もあります。

javaのokHttp、jettyおよびその他のライブラリは、これをサポートするクライアントライブラリを提供しています。しかし、JavaScriptのサポートは明確ではありません。

答えて

5

ブラウザとサーバーの両方がHTTP/2をサポートしている場合、ブラウザからのすべての呼び出し(XHRを含む)に使用されます。これを可能にするためにJavaScriptで特別なことを行う必要はありません。これは、HTTP/2の実装方法に関する素晴らしい点の1つです。

あなたは、接続が使用すると、接続を再利用したいとのオープン開催されていることを確認する方法を求めている場合は、http/2 specは言う:

HTTP/2接続が永続的です。最高のパフォーマンスを得るには、 がサーバーとの通信が必要ないと判断されるまで、クライアントは接続をクローズしないように、 が予想されます。 (たとえば、ユーザーが特定のWebページから移動したとき) またはサーバーが閉じるまで接続。

...

サーバーは限り 可能な限りのためのオープン接続を維持することが推奨されるが、必要に応じてアイドル状態の接続を終了することが許可されています。

+0

私はブラウザがtcp接続を永遠に開いたままにしているとは思わない。 TCP接続をいつ開くのか、いつ終了するのかをどのように知っていますか?それが私の支持を疑う理由です。 –

+0

理論をサポートするドキュメントがあれば、多くの助けになります。私は何も見つけることができませんでした。 –

+0

あなたが探していると思われる詳細を含めるように答えを更新しました。どのようにこれがHTTP/1.1接続の下でkeep-alivesで動作するかとはどう違うと思いますか。確かにあなたが求めていた質問をフォローアップしているかどうかは分かりません。 –

関連する問題