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

HTTP通信

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.1HTTP/2HTTP/3
接続方式複数TCP単一TCPUDP(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が標準となっていく可能性が高く、 エンジニアはその特性を理解しておくことが重要です。