4

ほとんどのブラウザは HTTP/2 をサポートしており、一部のサーバーもサポートしています。

たとえば、Akamai は HTTP/2 テストページ ( https://http2.akamai.com/ ) を提供しています。Chromeでこのページにアクセスしてページに移動するchrome://net-internals/#spdyと、プロトコル h2-14 (HTTP/2 ドラフト 14) がリストされています。しかし、アカマイのページでコンソールを開いてwindow.chrome.loadTimes()プロパティを入力すると、 wasFetchedViaSpdyis true. どうしてこれなの?Akamai のページは SPDY ではなく HTTP/2 ですよね?

私が理解できないもう 1 つのことは、このチュートリアル ( https://www.gatherdigital.co.uk/blog/how-to-setup-http-2-support/527 ) です。それは言います:

「HTTP/2 サポート (nginx、apache、plesk) のセットアップ方法 [...] まあ、HTTP/2 ではありませんが、まだ mod_spdy です。」

この HTTP/2 "over" SPDY とは何ですか? 私の質問の理由は、どのページがどのプロトコルを使用しているかを測定したいからです。

4

1 に答える 1

7

簡単に言うと、SPDY は死んでいます。HTTP/2 は万歳です。

「HTTP/2 は SPDY なしで可能か」という質問は、HTTP/2 が何らかの形で SPDY に依存していることを意味します。そうではありません。代わりに、HTTP/2 と SPDY は非常に似ているため、多くの実装が既存の SPDY サポートをハッキングして HTTP/2 にしています。また、HTTP/2 を SPDY だと思っている人や、専門用語がお粗末だと思っている人もたくさんいます。それらは異なるプロトコルです。

SPDYは、Google による HTTP/1.1 の非標準 (ただしオープンな) 拡張機能であり、Web サイトの読み込みと対話を高速化し、接続数を減らすために人々が行う多くのハッキングを排除するように設計されています。 HTTP/2 は SPDYで始まり、そこから実行されて、HTTP/1.1 と SPDY の両方と互換性のない新しい標準プロトコルを作成しました。

多くの人は SPDY と HTTP/2 を同じものとして扱いますが、そうではありません。HTTP/2 と SPDY の間の標準化プロセスに大幅な変更が加えられたため、SPDY と HTTP/2 には互換性がありません。しかし、それらは非常に似ているため、多くの HTTP/2 実装はハッキングされた SPDY 実装にすぎません。

SPDY は標準ではありませんが、多くのWeb サーバークライアントが SPDY を実装しています。パフォーマンスの向上は見逃せません。

HTTP/2 が公式になったため、SPDY は HTTP/2 を支持して公式に非推奨となり、2016 年に標準として廃止される予定です。Web クライアントとサーバーは切り替えに取り組んでいます。クライアントは HTTP/2を急速に採用しましたが、サーバーのサポートは遅れているようです。

これを書いている時点で、HTTP/2 が標準になってから 6 週間しか経っていません。もう少し時間をください。SPDY への参照は、HTTP/2 実装でぶらぶらしていますが、すぐにクリーンアップされます。Firefox 36.0.4 のネットワーク コンソールは、プロトコル バージョンを HTTP/2 として適切に報告します。

HTTP/2 が使用されているかどうかを調べるには、HTTP 応答オブジェクトを見てください。プロトコルが使用されている必要があります。

于 2015-03-29T16:39:13.350 に答える