HTTP/1.1・HTTP/2・HTTP/3の速度比較

目次
HTTP/1.1・HTTP/2・HTTP/3の速度比較|Web通信の進化
Webサイトの表示速度は、ユーザー体験やSEOに直結する重要な要素です。 その速度に大きく影響するのが、HTTP(Hypertext Transfer Protocol)のバージョンです。
現在主に利用されているHTTPには、 HTTP/1.1、HTTP/2、HTTP/3の3つがあります。 これらは単なるバージョン違いではなく、 通信方式そのものが大きく進化しています。
本記事では、それぞれのHTTPの仕組みと速度特性、 違い、実務での影響についてエンジニア向けに詳しく解説します。
HTTP/1.1の特徴
HTTP/1.1は長年にわたりWeb通信の標準として使われてきたプロトコルです。
主な特徴
- テキストベースプロトコル
- 1リクエスト=1レスポンス
- パイプライン(限定的)
- Keep-Aliveによる接続再利用
問題点
- ヘッドオブラインブロッキング(HOL)
- 複数リクエストの並列性が低い
- 接続数増加によるオーバーヘッド
ブラウザ → サーバ
1リクエストずつ順番処理
→ 待ち時間増加
Webページが複雑化するにつれ、 HTTP/1.1では性能限界が見えてきました。
HTTP/2の特徴
HTTP/2は、HTTP/1.1の問題を解決するために設計されたプロトコルです。
主な特徴
- バイナリプロトコル
- マルチプレクシング(同時通信)
- ヘッダ圧縮(HPACK)
- サーバプッシュ
マルチプレクシング
HTTP/2では、1つのTCP接続で複数のリクエストを同時に処理できます。
1接続で複数通信
→ 並列処理可能
→ 待ち時間削減
メリット
- 接続数削減
- レイテンシ改善
- 帯域効率向上
デメリット
- TCP依存
- パケットロス時の影響が大きい
TCP上で動作するため、 1つのパケットロスで全ストリームが影響を受ける問題があります。
HTTP/3の特徴
HTTP/3は、HTTP/2の課題を解決するために登場した最新プロトコルです。
最大の特徴は、TCPではなくUDP上で動作することです。
主な特徴
- UDPベース(QUIC)
- 接続確立の高速化
- パケットロス耐性の向上
- 完全なマルチプレクシング
QUICの役割
HTTP/3はQUICというプロトコルの上で動作します。
QUICは、UDPの上にTCPのような信頼性制御を実装したものです。
HTTP/2との最大の違い
HTTP/2:TCP上
→ パケットロスで全体停止
HTTP/3:UDP上(QUIC)
→ 個別ストリームで処理
これにより、パケットロス時でも通信全体が止まることがなくなります。
速度比較
| 項目 | HTTP/1.1 | HTTP/2 | HTTP/3 |
|---|---|---|---|
| 接続方式 | 複数TCP | 単一TCP | UDP(QUIC) |
| 並列処理 | 低い | 高い | 非常に高い |
| レイテンシ | 高い | 低い | 最も低い |
| パケットロス耐性 | 低い | 低い | 高い |
| 接続確立時間 | 遅い | やや速い | 非常に速い |
ヘッドオブラインブロッキング
HTTP/1.1およびHTTP/2では、 HOL(Head of Line Blocking)問題が発生します。
TCPは順序保証を行うため、 1つのパケットが失われると後続のデータも待たされます。
HTTP/3ではこの問題が解消されています。
実務での影響
HTTP/1.1
- 小規模サイト向け
- 現代では非推奨
HTTP/2
- 現在の主流
- 多くのWebサイトで使用
HTTP/3
- 高速・低遅延環境で有利
- モバイル・無線環境に強い
導入時の注意点
- サーバ側の対応(nginx / Apache)
- CDNの対応状況
- ブラウザ対応
- ファイアウォール設定(UDP許可)
よくある誤解
HTTP/3なら常に速い
→ 環境によってはHTTP/2と差が小さい場合もある。
HTTP/2で十分
→ 高遅延・無線環境ではHTTP/3が有利。
HTTP/1.1はまだ使える
→ 性能面では明らかに劣る。
まとめ
HTTPは、HTTP/1.1からHTTP/2、そしてHTTP/3へと進化し、 通信効率と速度を大きく向上させてきました。
HTTP/2ではマルチプレクシングにより高速化が実現され、 HTTP/3ではQUICにより遅延とパケットロスの問題が大幅に改善されています。
特にモバイル環境や高遅延ネットワークでは、 HTTP/3の優位性が顕著です。
今後のWeb通信では、 HTTP/3が標準となっていく可能性が高く、 エンジニアはその特性を理解しておくことが重要です。





