HTTP/2 【Hypertext Transfer Protocol version 2】

概要

HTTP/2(Hypertext Transfer Protocol version 2)とは、Web(WWW)のデータ伝送に用いるプロトコル(通信規約)であるHTTP(Hypertext Transfer Protocol)の第2版。2015年にIETFによってRFC 7540として標準化された。

WebサーバWebクライアントWebブラウザなど)の間で、データや処理の要求(リクエスト)や応答(レスポンス)を伝送する手順やデータ形式を定めている。Webが一般に普及する初期の1999年に策定されたHTTP/1.1が長年に渡って利用されてきたが、16年ぶりの仕様改訂となった。

グーグルGoogle)社が「SPDY」(スピーディ)の名称で提唱・実装してきたHTTPの改善策を取り入れたもので、基本的な仕様はHTTP/1.1と互換性を保ちつつ、データ伝送の高速化や効率化のための拡張われている。特に利用者データ伝送量の多い大規模サイトサービスで効力を発揮する。

主な追加仕様としては、HTTPヘッダ圧縮および再読み込み時の差分伝送、リクエストで指定されていないファイルサーバ側から送信するサーバプッシュ、一つのTCPコネクション上で複数のリクエストレスポンス非同期(順不同)に取り扱う「ストリーム」の導入、バイナリ化されたメッセージ形式(フレーム)の導入、資源の優先度の指定などがある。

接続時のネゴシエーション

HTTP/2はHTTP/1.1と同様、標準ではTCPポート80番、SSL/TLSを併用するHTTPSではTCPポート443番を使用するが、1.0から1.1への移行の場合と異なりメッセージの形式が異なるため、サーバ側が対応済みか分からない状況ではHTTP/2で通信を開始することができない問題がある。

このため、最初にHTTP/1.1で接続し、双方が対応済みならばHTTP/2接続へアップグレードする方式(非HTTPS接続の場合)と、TLS接続の確立時にALPN(Application-Layer Protocol Negotiation Extension)という手順でHTTP/2の利用を合意する方式(HTTPS接続の場合)が用意されている。再訪問など相手がHTTP/2対応と分かっている場合はいきなりHTTP/2で接続することもできる。

現在では主要なWebブラウザWebサーバの最新版のほとんどがHTTP/2に対応しているが、ブラウザ側ではTLS接続時のみHTTP/2利用を可能とする実装が一般的となっているため、実用上はHTTP/1.1からの切り替えがわれることはほとんどない。

(2021.7.21更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる