HTTP/2とは
HTTP/2は、2015年にRFC 7540として標準化されたHTTPプロトコルの新バージョンです。Googleが開発したSPDYプロトコルをベースとして設計され、HTTP/1.1の約15年ぶりの大幅な改訂となりました。Webページの表示速度を向上させることを主な目的としています。
多重化(Multiplexing)
HTTP/2の最も重要な機能は多重化です。1つのTCP接続上で複数のリクエストとレスポンスを並行して処理できるため、HTTP/1.1で問題となっていたヘッドオブラインブロッキングが解消されます。これにより、ページの読み込み速度が大幅に向上します。
バイナリフレーミング
HTTP/2では、テキストベースだったHTTP/1.1とは異なり、バイナリ形式でデータを送受信します。バイナリフレーミング層により、データをフレームという小さな単位に分割し、効率的な通信を実現しています。
ヘッダー圧縮
HPACK圧縮アルゴリズムを使用して、HTTPヘッダーを効率的に圧縮します。重複するヘッダー情報を省略し、ハフマン符号化により通信量を削減します。これは特に、多数の小さなリクエストを行うWebアプリケーションで効果を発揮します。
サーバープッシュ
サーバープッシュ機能により、クライアントがリクエストする前に、サーバー側から必要なリソースを先行して送信できます。HTMLファイルを要求されたときに、CSSやJavaScriptファイルも同時に送信することで、ページの表示速度を向上させます。
ストリーム優先度制御
HTTP/2では、各ストリームに優先度を設定できます。重要なリソースを優先的に送信することで、ユーザー体験を最適化します。たとえば、表示に必要なCSSを画像よりも優先して送信できます。
導入と互換性
HTTP/2は、ほとんどの主要なWebブラウザとWebサーバーでサポートされています。HTTP/1.1との下位互換性も維持されており、段階的な移行が可能です。ただし、多くのブラウザはHTTP/2をTLS接続でのみサポートしています。nginx、Apache、Caddy、IISなど主要なWebサーバーがHTTP/2に対応しています。
HTTP/2の課題とHTTP/3への進化
HTTP/2はHTTP/1.1から大幅な改善を実現しましたが、TCPレベルのHead-of-Lineブロッキングという課題が残っています。HTTP/2の多重化はアプリケーション層で実現されていますが、TCP層では1つのパケットロスがすべてのストリームをブロックします。この問題を解決するため、HTTP/3ではQUIC(UDPベース)がトランスポート層として採用されました。
また、サーバープッシュ機能は2025年現在、多くのブラウザで非推奨となっています。103 Early Hintsヘッダーや、Service Workerによるプリキャッシュが代替手段として推奨されています。
2025-2026年の最新動向
HTTP/2は引き続きWebの主力プロトコルであり、2025年時点でWebサイトの約65%がHTTP/2を使用しています。HTTP/3の普及が進む一方、サーバー環境やファイアウォール設定の関係でHTTP/2が当面のデフォルトとなるケースも多くあります。
Webパフォーマンス最適化の観点では、HTTP/2のストリーム優先度制御の実装がブラウザ間で統一されつつあります。Chrome、Firefox、Safariが共通の優先度スキーム(RFC 9218 Extensible Prioritization Scheme)を実装し、より一貫したパフォーマンスが得られるようになっています。
関連技術と用語
- HTTP/3 - QUICベースの次世代HTTPプロトコル
- QUIC - HTTP/3のトランスポート層
- REST API - HTTP/2上で動作するAPI
- gRPC - HTTP/2を基盤とするRPCフレームワーク
- DNS - HTTP/2接続前の名前解決
外部リンク
よくある質問(FAQ)
Q. HTTP/2とは?
2015年にRFC 7540として標準化されたHTTPの第2世代バージョンです。多重化、ヘッダー圧縮、サーバープッシュなどの機能でWebの高速化を実現します。
Q. HTTP/2とHTTP/1.1の違いは?
HTTP/2は1つのTCP接続で複数リクエストを並行処理(多重化)でき、バイナリフレーミング、HPACK圧縮で通信効率が向上します。HTTP/1.1では接続あたり1リクエストが基本でした。
Q. HTTP/2とHTTP/3の違いは?
HTTP/2はTCP上で動作しTCPレベルのHoLブロッキングがありますが、HTTP/3はQUIC(UDP上)で動作しこの問題を解消。接続確立も0-RTTに対応しています。
Q. HTTP/2の普及状況は?
2025年時点でWebサイトの約65%がHTTP/2を使用。ほぼすべてのブラウザとWebサーバーが対応済みです。
