このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

HTTP/2

HTTP/2HTTP ネットワークプロトコルの改訂版です。

HTTP/2 の主な目的は、リクエストとレスポンスの完全な多重化およびリクエストの優先順位付けに対応することで、レイテンシー先頭行ブロックを縮小すること、および HTTP ヘッダーフィールドの効率的な圧縮 (HPACK) を通じてプロトコルのオーバーヘッドを最小限に抑えることです。

HTTP/2 では、サーバープッシュと呼ばれる仕組みも導入されました。これは、クライアントが間もなくリソースが必要になることを予測して、サーバーがクライアントにリソースを送信することができるものです。 しかし、サーバープッシュは実際には実装が難しく、主要なブラウザーエンジンのほとんどから除去されました。 その代わりとして、rel="preload"103 Early hintsといった代替手法が採用されています。

HTTP/2 は HTTP のアプリケーション的な意味を何も変更していません。 HTTP 1.1 にあった主要な概念、たとえば HTTP メソッド、ステータスコード、 URI、ヘッダーフィールドなどはすべてそのまま残っています。その代わり、 HTTP/2 はデータを書式化 (フレーム化) してクライアントとサーバー間で転送する方法を、プロセス全体の管理と、新しいフレーム化レイヤーの中の複雑さをアプリケーションから隠蔽することの両面で変更しました。 結果として、既存のすべてのアプリケーションが変更なしに配信することができます。

関連情報