HTTPの1.1と2と3の違い

目次

HTTPの1.1と2と3の違いのまとめ

通信プロトコル データ形式 普及状況
1.1 TCP テキストベース 依然として広く利用
2 TCP バイナリベース 主要サイトで標準利用
3 QUIC (UDPベース) バイナリベース 大規模サービス(Google, Cloudflare 等)で普及中

HTTP/1.1 → テキストベース。Keep-Aliveで複数リクエスト可能になったが、同時処理は苦手。

HTTP/2 → バイナリ化 & 多重化。ページ読み込み速度が大幅改善。

HTTP/3 → QUIC(UDP)利用。接続が高速で安定、モバイル環境に特に強い。

 

HTTP1.1

Keep-Alive による接続の再利用(1つのTCP接続で複数リクエスト)

Chunked Transfer Encoding(データを分割して順次送信)

キャッシュ制御やバーチャルホスト (Host ヘッダ) など現代Webに必須の仕組み

短所: 同時リクエスト数に制限があり(多くのブラウザで1ホスト6本程度)、多リソースページで遅延が目立つ。

 

HTTP2

バイナリプロトコル(1.1まではテキストベース)

1つのTCP接続で多重化(複数リクエスト/レスポンスを並行処理)

ヘッダ圧縮 (HPACK) による通信量削減

サーバプッシュ(必要になりそうなリソースを先送り)

効果: レイテンシ改善、ページ表示高速化。

利用状況: 主要ブラウザ・Webサーバが対応、現在はかなり普及。

 

HTTP3

TCPではなくUDPを利用 → 接続確立が速い(0-RTT接続再開)

パケットロス時の遅延が減る(TCPの「ヘッドオブラインブロッキング問題」を解消)

HTTP/2の多重化・圧縮などを継承

利用状況: Cloudflare, Google, Meta など大規模サービスで実運用中。Chrome, Firefox, Edge, Safari が対応済み。

 

ブラウザでのアクセスがどのHTTPのバージョンか確認する

1.対象サイトを開く

2.F12 で 開発者ツール を開く

3.「Network(ネットワーク)」タブをクリック

4.ページをリロードして通信をキャプチャ

5.リクエスト一覧のヘッダー行を右クリック → Protocol(プロトコル)列を表示

 

 

6.各リクエストのプロトコル列に以下のように表示されます。

http/1.1 → HTTP/1.1

h2 → HTTP/2

h3 → HTTP/3

 

関連の記事

「HTTPリクエスト」と「HTTPレスポンス」とは

△上に戻る