目次
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
関連の記事