HTTP/2とHTTP/3は、一言でいうと何が違う?
HTTP/2はTCPの上で1本の接続に複数のやり取りを束ねる方式、HTTP/3はUDPの上で動くQUICを使い、束ねたやり取りを互いに待たせないようにした方式です。
HTTP/3の仕様(RFC 9114、2022年6月)は、HTTPの意味(セマンティクス)をQUICというトランスポートの上に載せたもの、と自らを説明しています。ここが大事な点で、GET・POSTなどのメソッドや200・404などのステータスコードの意味は、HTTP/1.1・HTTP/2・HTTP/3で共通です。この共通部分はRFC 9110「HTTP Semantics」にまとめられています。
変わったのは「メッセージをどう運ぶか」です。HTTP/1.1はテキストのメッセージをTCPで送り、HTTP/2はそれをバイナリのフレームに分けて1本のTCP接続に多重化し、HTTP/3はそのフレームをQUICのストリームに載せます。

HTTP/2
RFC 9113
- メソッド・ステータスコードの意味共通(RFC 9110)
- メッセージの形バイナリのフレーム、ヘッダ圧縮は HPACK
- 暗号化TLS の上で使う場合は ALPN の「h2」で選ばれる
- 下のトランスポートTCP
HTTP/3
RFC 9114
- メソッド・ステータスコードの意味共通(RFC 9110)
- メッセージの形バイナリのフレーム、ヘッダ圧縮は QPACK
- 暗号化QUIC に TLS 1.3 が組み込まれる
- 下のトランスポートQUIC(UDP の上)
HTTP/3 は、HTTP の意味を TCP ではなく QUIC の上に載せたもの。
HTTP/1.1・HTTP/2・HTTP/3は、表で比べるとどう違う?
| 観点 | HTTP/1.1 | HTTP/2 | HTTP/3 |
|---|---|---|---|
| 現行の仕様 | RFC 9112(2022年6月) | RFC 9113(2022年6月、RFC 7540を置き換え) | RFC 9114(2022年6月) |
| 下のトランスポート | TCP | TCP | QUIC(UDPの上) |
| メッセージの形 | テキスト | バイナリのフレーム | バイナリのフレーム |
| 1接続での並行処理 | 応答は要求の順に返す必要がある | ストリームで多重化できる | QUICのストリームで多重化できる |
| ヘッダ圧縮 | 仕様としてはない | HPACK(RFC 7541) | QPACK(RFC 9204) |
| 暗号化 | HTTPSならTLSを組み合わせる | TLS上ではALPNの「h2」で選ばれる | QUICにTLS 1.3が組み込まれ、常に暗号化される |
| 順番待ち(HOLブロッキング) | 前の応答が終わるまで次を返せない | アプリ層では解消。TCPの欠落による待ちは残る | 欠落の影響をそのストリームに閉じ込める |
HTTP/3は、TLSの接続交渉で「h3」というALPNの識別子を使います。サーバがHTTP/3に対応していることは、HTTPの応答に付けるAlt-Svcヘッダで知らせる方法がRFC 9114に書かれています。最初はHTTP/2などで接続し、対応が分かった後にHTTP/3へ切り替える、という流れがあり得るということです。
HOLブロッキングの解消は、HTTP/2とHTTP/3でどう違う?
HOL(Head-of-Line)ブロッキングは「列の先頭がつかえると、後ろが全部待たされる」現象です。どの層で起きているかを分けると、HTTP/2とHTTP/3の違いがはっきりします。
HTTP/1.1
- 待ちが起きる所アプリ層
- 待たされる範囲後ろの応答すべて(応答は要求の順に返す)
HTTP/2
- 待ちが起きる所TCP(アプリ層の待ちは解消)
- 待たされる範囲パケットが1つ欠けると、同じ接続の全ストリーム
HTTP/3
- 待ちが起きる所QUIC のストリームごと
- 待たされる範囲欠けたパケットを含むストリームだけ
HTTP/2 が解消したのはアプリ層の待ち。TCP の待ちまで閉じ込めたのが HTTP/3。
- HTTP/1.1(アプリ層で待つ):1本の接続で複数の要求を続けて送っても、応答は要求と同じ順番で返す必要があります。重い応答が先頭にあると、軽い応答も後ろで待ちます。ブラウザは接続を何本も張って並行させてきました。
- HTTP/2(アプリ層は解消、TCPで待つ):要求ごとにストリームを分け、フレームを混ぜて送れるため、アプリ層の順番待ちはなくなりました。しかしTCPは全体を1本のバイトストリームとして扱うので、1つのパケットが欠けると、再送が届くまで後ろのデータはどのストリームのものでも渡されません。RFC 9113自身が、TCPのHOLブロッキングはこのプロトコルでは解決していない、と明記しています。
- HTTP/3(ストリームごとに待つ):QUICはストリームごとに再送と順序制御を行います。1つのパケットが欠けても、待つのはそのパケットを含むストリームだけで、ほかのストリームは先に進めます。
ヘッダ圧縮が変わったのも同じ理由です。HTTP/2のHPACKは、圧縮した情報が順番どおりに届くことを前提にしています。QUICはストリーム間の到着順を保証しないため、HTTP/3では順番の入れ替わりに対応したQPACK(RFC 9204)が作られました。
無線区間ではパケットの欠落や遅延の揺れが起きやすいため、この違いはモバイル通信の話題として押さえておく価値があります。QUICが接続をコネクションIDで識別し、Wi-Fiとモバイル回線の切り替えでIPアドレスが変わっても接続を続けられる点は、TCPとUDPの違いで解説しています。
モバイル2級では、どの範囲でどう問われる?
HTTP/2とHTTP/3は、モバイル2級の出題カテゴリ「モバイルインターネットとモバイルコンテンツ技術」に当たります。MCPCの試験ページの図では、このカテゴリの出題比率は20%です(2026年9月27日確認)。カテゴリの中でHTTPが何問あるかは公表されていません。
公式テキスト(モバイルシステム技術テキスト第11版)の目次では、第9章「モバイルインターネットとコンテンツ技術」が近い範囲です。章と出題カテゴリの対応は当サイトの推定で、使っているのは目次の章名だけです。
4択での確かめられ方は公表されていないため、以下は当サイトの想定です。
- 下のトランスポートの組合せ:HTTP/2とHTTP/3のそれぞれが何の上で動くか、ヘッダ圧縮の方式と組み合わせて選ぶ。
- 解決した問題と残った問題:HTTP/2が解消したHOLブロッキングと、残ったHOLブロッキングを区別できるか。
- 変わらない部分:メソッドやステータスコードの意味が版で変わると誤解させる記述を見抜く。
- 暗号化の位置:TLSがTCPの上に重なるのか、QUICの中に組み込まれるのかを区別する。
Webの配信を速くするもう一つの仕組みであるCDNや、通信を暗号化するTLSと一緒に整理すると、第9章の範囲がつながって見えます。試験全体の形式はモバイルシステム技術検定2級の概要にまとめています。
HTTP/2・HTTP/3で、間違えやすいのはどこ?
| 取り違えやすい記述 | 正しい整理 | 見分けるコツ |
|---|---|---|
| HTTP/2でHOLブロッキングは完全になくなった | なくなったのはアプリ層の順番待ち。TCPの欠落による待ちは残る | 「どの層の」待ちかを確認する |
| HTTP/3はTCPの上で動く | HTTP/3はQUICの上、QUICはUDPの上で動く | TCPを使うのはHTTP/2まで |
| HTTP/3ではステータスコードの意味が変わった | 意味は版を問わず共通(RFC 9110)。変わったのは運び方 | 「意味」と「形式」を分けて読む |
| HTTP/3もヘッダ圧縮はHPACK | HTTP/3はQPACK。到着順の入れ替わりに対応するため | 2はH(HPACK)、3はQ(QPACK) |
| HTTP/3は暗号化を選べる | QUICにTLS 1.3が組み込まれ、暗号化が前提 | 「TLSの上」ではなく「TLSを内蔵」 |
| UDPなのでHTTP/3は再送しない | 再送や順序制御はQUICが行う | UDP自体とQUICの機能を分ける |
| HTTP/2は要求ごとにTCP接続を張る | 1本のTCP接続にストリームを多重化する | 接続を何本も張るのはHTTP/1.1時代の工夫 |
確認問題1
HTTP/2に残っていた課題は?
HTTP/2について、HTTP/3で改善された課題として最も適切なものを選んでください。
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解:3。HTTP/2は1本のTCP接続にストリームを多重化するため、TCPの欠落が起きると再送が届くまで全ストリームが待たされます。RFC 9113もこの点は解決していないと明記しており、HTTP/3はQUICでストリームごとに再送することで改善しました。
1は誤りで、HTTP/2はバイナリのフレームを使い、HPACKでヘッダを圧縮します。2も誤りで、1本の接続での並行処理(多重化)はHTTP/2の特徴そのものです。4も誤りで、メソッドやステータスコードの意味はRFC 9110で共通に定められています。
確認問題2
HTTP/3の土台とヘッダ圧縮の組合せは?
次の文の空欄Ⅰ・Ⅱに入る語句の組合せとして適切なものを選んでください。
「HTTP/3は Ⅰ の上で動作し、ヘッダの圧縮には Ⅱ を用いる。」
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解:4。HTTP/3はQUIC(RFC 9000)の上で動き、ヘッダ圧縮にはQPACK(RFC 9204)を使います。
1はHTTP/2の組合せに近く(HTTP/2はTCPとHPACK)、HTTP/3の説明ではありません。2はQPACKが合っていても、TCPの上ではなくQUICの上で動く点が誤りです。3はQUICが合っていても、HPACKは到着順を前提にするためHTTP/3では使われません。
確認問題3
HTTP/3について適切でない記述は?
HTTP/2とHTTP/3に関する次の記述のうち、適切でないものを選んでください。
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解:1。再送や順序制御はトランスポートであるQUICの仕事で、Webページのスクリプトが行うものではありません。UDPの上で動くことから「アプリが再送する」と早合点させる記述です。
2は適切で、QUICはTLS 1.3を組み込んでいます(RFC 9001)。3も適切で、ストリームの多重化はHTTP/2の中心的な仕組みです。4も適切で、RFC 9114はAlt-Svcヘッダでの対応の告知を説明しています。
確認問題を解いたら、次に何をする?
迷った問題は「どの層の話か」を書き出してから比較表に戻ると、取り違えの原因が見つかりやすくなります。HOLブロッキングの問題はとくに、アプリ層とトランスポート層を分けられるかが分かれ目です。
ほかの分野と混ぜて本番と同じ4択で試したい場合は、モバイル2級の無料お試し20問を登録不要で解けます。出題カテゴリを参考に組んだ独自の20問で、全問に解説がついています。少数の問題のため、本番と同じ出題配分にはなりません。
続けて読むなら、トランスポートの基礎はTCPとUDPの違い、配信の仕組みはCDNとはが近いテーマです。