【えいちてぃーてぃーぴーすりー】

HTTP/3 とは?

💡 TCPの渋滞を避けて、UDPの高速道路を走るWeb通信の最新形
📌 このページのポイント
HTTP/2 vs HTTP/3 の通信の違い HTTP/2(TCP) TCP接続(1本のパイプ) ストリームA ストリームB ストリームC パケットロス 全ストリーム停止! HTTP/3(QUIC / UDP) QUIC接続(独立ストリーム) ストリームA ストリームB ストリームC パケットロス Aだけ再送、B・Cは継続! 接続確立: 3往復 TCP(1) + TLS(2) = 遅い 接続確立: 1往復 QUIC + TLS 1.3 = 高速!
HTTP/2とHTTP/3のヘッドオブラインブロッキングと接続確立の違い
ひよこ ひよこ

HTTP/3ってHTTP/2の次ってことだよね?何が変わったの?

ペンギン先生 ペンギン先生

一番大きな変化は、通信の土台がTCPからQUICというUDPベースのプロトコルに変わったことだよ。TCPは確実だけど接続に時間がかかる。QUICは最短1回のやり取りで接続が完了するから、ページの表示が速くなるんだ

ひよこ ひよこ

UDPって信頼性が低いんじゃなかったっけ?大丈夫なの?

ペンギン先生 ペンギン先生

いい質問だね。QUICUDPの上に独自の信頼性制御を実装しているんだよ。パケットの再送や順序管理をQUIC自身がやるから、TCPと同じ信頼性がありつつ、余計な待ち時間を減らせるんだ

ひよこ ひよこ

ヘッドオブラインブロッキングっていうのが解消されたって聞いたけど?

ペンギン先生 ペンギン先生

HTTP/2ではTCP上で複数のリクエストを同時に送れるんだけど、1つのパケットが消えると全部の通信が止まっちゃうんだ。HTTP/3では各ストリームが独立しているから、1つが詰まっても他はそのまま進めるんだよ。高速道路で1車線が事故っても他の車線は流れ続けるようなイメージだね

ひよこ ひよこ

もう普通に使われてるの?

ペンギン先生 ペンギン先生

Google、YouTube、Facebook、CloudflareなどはもうHTTP/3対応済みだよ。実は今ブラウザでWebを見てるとき、知らないうちにHTTP/3で通信していることも多いんだ。ちなみにQUICTLS 1.3を内蔵しているから、暗号化のハンドシェイクも同時に済んで、セキュリティ面でも優秀なんだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
HTTP/3」って出てきたら「UDPベースで速くなった最新版のHTTP」と思えればだいたいOK!
📖 おまけ:英語の意味
「Hypertext Transfer Protocol Version 3」 = ハイパーテキスト転送プロトコル バージョン3
💬 もともとGoogleが開発したQUICプロトコルがベースになっていて、それがIETFで標準化されてHTTP/3になったんだよ
← 用語集にもどる