HTTP/2とHTTP/3

HTTP/2とHTTP/3の概要、QUICがヘッドオブラインブロッキングをどのように(完全には解消せずに)減らすか、そしてSEOにとって何を意味するかを解説します。Googleはランキング向上はないと述べ、Googlebotの文書にHTTP/3は記載されていません。実際の効果はCore Web Vitalsを介した間接的なものです。

初回公開:2026年7月3日 · 最終更新:2026年8月21日 · Advanced
言語

HTTP/2(1つのTCP接続上での多重化とヘッダー圧縮)とHTTP/3(TCPではなくQUIC/UDP上で同じ仕組みを実現し、一方のストリームのパケット損失が他のストリームを止めることを防ぐ)は、HTTPの現代的なアップグレードです。QUICのストリームは接続の輻輳制御とQPACKヘッダー状態を共有するため、実際の問題を解決しますが、すべてのファイルが完全に独立する保証ではありません。どちらもGoogleの直接的なランキング要因ではありません。GoogleはHTTP/2でクロールしてもランキング向上はないと述べ、Googleのクローラー文書はHTTP/3を対応プロトコルとして記載していません。GooglebotはデフォルトでHTTP/1.1を使い、適格なサイトではHTTP/2を使い、文書化されたオプトアウトは421です。SEO上の実際の効果は間接的で、実ユーザーの読み込み速度がCore Web Vitalsに反映されます。大半のサイトではCDNのスイッチで有効にできますが、UDPがブロックされる場合や、ブラウザーがHTTP/3の利用可能性を学習するまで初回訪問がHTTP/2で始まる場合もあるため、ネゴシエートされたプロトコルを確認してください。切り替えてもランキングは直接上がらず、HTTP/2 Server Pushも実務上は終わっています(Chrome 106からデフォルト無効)。代わりに103 Early Hintsまたはlink rel=preloadを使います。

TL;DR — HTTP/2は、1つのTCP接続上での多重化、HPACKヘッダー圧縮、RFC 9218の優先度ヒントです。HTTP/3は同じ意味論をTCPではなくQUIC/UDP上で実現し、一方のストリームで失われたパケットが他方のストリームを止めることを防ぎます。ただし、ストリームは接続の輻輳制御とQPACKの状態を共有するため、ファイルごとの完全な独立ではなく、実際の問題を解決する仕組みです。どちらも直接的なランキング要因ではありません。GoogleはHTTP/2でクロールしてもランキング向上はないと説明しており、Googleのクローラー文書はHTTP/3を対応プロトコルとして記載していません。GooglebotはデフォルトでHTTP/1.1を使い、対象サイト(HTTPS + h2対応)ではHTTP/2を使います。文書化されたオプトアウトは421ステータスです。SEO上の効果は、実ユーザーの速度がCore Web Vitalsに反映されるという間接的なものです。新しいプロトコルをネゴシエートしただけでCore Web Vitalsや検索パフォーマンスが改善する保証はありません。Webの大半はHTTP/2上にありますが、HTTP/3は実際のリクエストではまだ少数派です。CDNが「対応」していても、発見やフォールバックのため、すべての訪問がHTTP/3になるとは限りません。避けるべきものは2つです。ランキング向上を追いかけることと、Server Pushです(Chrome/Chromiumではv106以降デフォルトで無効)。代わりに103 Early Hintsまたはrel=preloadを使ってください。

Evidence for this claim HTTP/2 adds binary framing and multiplexed streams while preserving HTTP semantics. Scope: Current official or standards documentation. Confidence: high · Verified: RFC 9113: HTTP/2 Evidence for this claim HTTP/3 maps HTTP semantics over QUIC rather than TCP. Scope: Current official or standards documentation. Confidence: high · Verified: RFC 9114: HTTP/3

各プロトコルが実際に変えるもの

この2つのアップグレードを区別できれば、他のことも理解しやすくなります。

**HTTP/2(2015年、RFC 7540)**はHTTPの意味論を保ちながら、バイトの移動方法を大きく改めました。

  • 多重化。 HTTP/1.1の「接続ごとに1つずつ」というモデルとは異なり、1つの接続上で多数のリクエストとレスポンスをインターリーブします。HTTP/1.1ではブラウザーが複数の並列接続を開く必要がありました。
  • HPACKヘッダー圧縮。 各リクエストに付く繰り返しのヘッダーを圧縮して、オーバーヘッドを減らします。
  • ストリームの優先順位付け — ただし、元の方式ではありません。RFC 7540の優先度ツリーはHTTP/2の更新仕様であるRFC 9113によって非推奨になりました。現在のシグナルはRFC 9218の拡張可能な優先順位付け方式で、単純なurgency/incrementalヒントを使います(HTTP/2とHTTP/3の両方で利用可能)。これは助言的なもので、サーバーは尊重しても、一部だけ尊重しても、無視しても構いません。
  • もともとはServer Pushもありました。HTTP/2とHTTP/3の仕様では今も技術的に定義されていますが、ブラウザーは実際には対応を取りやめています(詳細は後述)。
  • 実際にはHTTPSが必要です。主要なブラウザーで、暗号化されていないHTTP/2をネゴシエートするものはありません。

**HTTP/3(2022年、RFC 9114)**はHTTP/2の意味論を保ちながら、トランスポートを置き換えます。

  • TCPではなく、UDP上に構築されたトランスポートであるQUICを使います。
  • HTTP/2のトランスポート層のヘッドオブラインブロッキングを狭めますが、あらゆる形態を消すわけではありません。HTTP/2では、多重化されたすべてのストリームが1つのTCP接続に乗るため、パケットを1つ失うと、再送されるまですべてのストリームが止まります。QUICでは各HTTPリクエストが自分のストリームを持ち、一方のストリームで失われたパケットが他方のストリームを止めなくなります。これが本当の修正です。ただし、すべてのファイルを完全に独立させるわけではありません。同じQUIC接続のストリームは輻輳制御とフロー制御を共有するため、ネットワーク経路が悪ければ、ストリーム間の停止はなくてもすべてが遅くなります。1つのストリーム内のバイトは順序どおりに届くため、複数のパケットにまたがるリソースは自分の失われたパケットを待ちます。また、QPACKのヘッダー復号は、他のストリームが依存できる共有制御ストリーム上で動きます。「損失がストリーム間に漏れなくなる」と考えてください。「各ファイルが完全に隔離されて送られる」という意味ではありません。
  • QUICにはTLS 1.3が組み込まれており、暗号化は必須です。セッション再開による接続確立の高速化もサポートし、再訪問時には任意の0-RTTモードも使えます。0-RTTは条件付きで、常に速い専用レーンになるわけではありません。送信する「早期データ」は攻撃者によって再生される可能性があるため、ブラウザーとサーバーは安全に送れるリクエストを制限します。サーバーは拒否して通常のハンドシェイクに戻ることもできます(425 Too Earlyを参照)。
  • QUICは接続移行もサポートします。クライアントは新しいネットワーク経路を検証することで、WiFiから携帯回線への変更をまたいで接続を維持できます。ただしQUIC v1ではクライアント開始のみです(サーバーが単独で接続を移行することはできません)。経路検証、アドレス変更、輻輳状態のリセットがあるため、継続性は条件付きであり、保証されません。

正直に言うと、HTTP/3の最大の効果が現れるのは低速またはパケット損失の多い接続です。高速で安定したネットワークを使うユーザーは、違いをあまり感じません。トラフィックの中で最も遅い層ほど大きな恩恵を受けるという点を、Will NyeはSearch Engine Journalでうまく説明しています 。閲覧者が全員光回線を使うサイトにHTTP/3の効果を過大に売り込む必要はありません。

これはランキングに影響しますか?(いいえ — 正確な表現はこちらです)

ここに来るSEO担当者が最も知りたいのはこの点です。まずGoogle自身のクローラー文書を確認しましょう。Googleクローラーの概要 で、GoogleはクローラーがHTTP/1.1とHTTP/2に対応し、クロール性能が最もよくなる方を選ぶと説明しています。そして次のように述べています。

“The default protocol version used by Google’s crawlers is HTTP/1.1; crawling over HTTP/2 may save computing resources (for example, CPU, RAM) for your site and Googlebot, but otherwise there’s no Google-product specific benefit to the site (for example, no ranking boost in Google Search).” (翻訳) 「Googleのクローラーがデフォルトで使うプロトコルはHTTP/1.1です。HTTP/2でクロールすると、サイトとGooglebotの計算資源(CPUやRAMなど)を節約できる場合がありますが、それ以外にGoogleの製品に固有のメリット(Google検索でのランキング向上など)はありません。」

これほど明確な説明は、Googleとしても珍しいほどです。HTTP/2は接続の両側にとってトランスポート層の効率化手段です。サーバーとGooglebotの処理を少し減らせる可能性はありますが、ランキングシグナルではありません

実際のSEO上の関係は間接的であり、明確に述べる価値があります。実ユーザーのページ読み込みが速くなると、**Core Web Vitals**に反映されます。これはGoogleのページエクスペリエンスシグナルの一部です。したがって、SEOにおけるHTTP/2とHTTP/3の価値は、Googleが実際に測定する指標に現れるユーザー体験への投資です。スイッチを入れるだけでランキングが上がるわけではありません。

Googlebotは現在どのように動作するか

これは多くの競合解説が省いている部分で、このページで最も役立つセクションです。Google自身のクローラー文書は具体的です。

  • デフォルトはHTTP/1.1です。 クローラーの概要によれば、デフォルトのプロトコルはHTTP/1.1です。Googlebotは過去のクロール統計に応じて、クロールセッションの間にHTTP/2へ切り替える場合があります。

  • HTTP/2でのクロールは、オンデマンドではなく適格性に基づきます。 Googlebotは2020年11月中旬に一部サイトのHTTP/2クロールを開始しました(GoogleのGooglebot will soon speak HTTP/2 (翻訳) 「GooglebotがまもなくHTTP/2を話すようになります」 という記事で発表)。サイトが適格になるには、HTTP/2対応のHTTPSで提供し、アップグレードの効果が出るほどクロールされている必要があります。自分で強制するものではありません。

  • 421でオプトアウトできます。 Googleはクローラーの概要 でオプトアウト方法を説明しています。

    “To opt out from crawling over HTTP/2, instruct the server that’s hosting your site to respond with a 421 HTTP status code when Google attempts to access your site over HTTP/2.” (翻訳) 「HTTP/2でのクロールをオプトアウトするには、GoogleがHTTP/2でサイトへアクセスしようとしたとき、サイトをホストしているサーバーが421 HTTPステータスコードを返すように指示します。」

  • HTTP/3はGoogleのクローラー文書に記載されていません。 この記事の執筆時点で、現在のクローラー概要は対応バージョンとしてHTTP/1.1とHTTP/2を挙げ、HTTP/3について何も述べていません。したがって、文書化されたクロールプロトコルとしては提供されていません。これはGoogleが公開した(または公開していない)内容についての説明であり、どこかのリクエストが絶対にHTTP/3に触れないという約束ではありません。Barry SchwartzもSearch Engine Roundtable で同じ不在を報告しており、Will NyeのSEJガイドもGooglebotは現在HTTP/3をサポートしていない と記しています。

HTTP/2の公開(2015年)からGooglebotが対応するまでには、およそ5年の空白がありました。HTTP/3が最終化されたのは2022年なので、このパターンに従えば、クローラー対応にはまだ時間がかかるかもしれません。私の見方はこうです。HTTP/3クロールを気長に待つ必要はありませんが、サイト改善をHTTP/3に依存して先延ばしにもしないでください。HTTP/3を導入する理由はGooglebotではなく、ユーザーです。

先に進む前に、2つ指摘しておきます。1つ目は、2021年のGoogle I/Oの頃、John MuellerがGoogleはすでに全URLの半数以上をHTTP/2でクロールしていると述べたことです。多重化とヘッダー圧縮によって接続数と帯域幅が大きく減り、Googleのクロールインフラとサイト側の配信インフラの両方に有益だったと説明しました。2つ目はBingについてです。Microsoftが公開したHTTP/2またはHTTP/3のクロールポリシーについて、同等のものは見つけられませんでした。Bingにはクロール効率全般(IndexNow 、Crawl Control、サイトマップ処理)に関する資料はありますが、Googleのようにプロトコル対応を明示した文書はありません。推測で補うつもりはありません。Bingに固有の答えが必要なら、Bing Webmaster Blog を直接確認してください。

Chromeのツールが示すもの(そして示さないもの)

ChromeのLighthouseにはModern HTTPというインサイトがあります。古いHTTPバージョンでサイトが配信されている場合に知らせるもので、基本的にはファイルがHTTP/2またはHTTP/3で届いているかを確認します。ただし、知っておくべき注意点があります。このインサイトが表示されるのはChrome DevToolsのパフォーマンストレースであり、多くのSEO担当者が確認する標準の公開PageSpeed Insightsレポートではありません。Lighthouseには以前、専用のuses-http2監査もありましたが、すべてのリクエストについてh1とh2とh3を確実に判定するのが難しかったため無効化されました。通常のPSIレポートで現在も使える「HTTP/2を使用」合否表示を探してはいけません。確実には表示されないからです。実際のプロトコルを確認するには、ブラウザーのNetworkパネルのProtocol列を見るか、WebPageTestのようなツールを使ってください。

2026年の実際の普及状況

一般に公開されている最良のデータセットは、(AkamaiのRobin Marxが執筆した)2024 Web AlmanacのHTTP章 です。Webの構成は次のようになっています。

  • ホームページ: デスクトップではHTTP/1.1が約22%、HTTP/2が約71%、HTTP/3が約7%です(モバイルも近く、約21% / 約70% / 約9%)。
  • すべてのリクエスト合計: およそ**85%**がHTTP/2以降で、HTTP/1.1のままなのは約15%です。
  • HTTP/3に対応可能なサイトは、実際に使うサイトより多いです。 ホームページの約26〜28%がalt-svcヘッダーでHTTP/3対応を通知していますが、実際にHTTP/3で配信されるリクエストははるかに少数です。
  • CDNが大部分を担っています。 Almanacのデータでは、CDN経由のリクエストの約**96%**がHTTP/2以降を使う一方、CDNを使わないリクエストの約29%は依然としてHTTP/1.1です。この差が、「CDNを使えばよい」という議論を1つの統計で表しています。

他の場所で引用される統計について、1つ注意があります。「上位1,000万サイトの25%がHTTP/3に対応している」という古い数字は、Almanacの「実際のリクエストの7〜9%がHTTP/3で配信される」という数字とは別のものを測っています。大規模ドメインのサイト単位の対応率と、実際のリクエストのシェアは異なります。両方が同時に真であり得るので、一方が他方と矛盾すると考えないでください。

実際に有効にする方法

圧倒的多数のサイトでは、これはサーバー移行ではありません。ただし、HTTP/3は発見される必要があり、気付かないままフォールバックする可能性もあるため、「スイッチを入れる」だけがすべてではありません。

  • CDNを使う。 CDN(Cloudflare、Fastly、Google Cloud CDNなど)でHTTP/2とHTTP/3を有効にするのは、通常チェックボックスを1つ選ぶだけで、はるかに簡単な方法です。その後、ブラウザーのNetworkパネルまたはcurl --http3でネゴシエートされたプロトコルを確認し、チェックボックスが最初から最後まで機能したと決めつけないでください。TLS/ALPNの設定、オリジンからエッジまでの対応、エッジからクライアントまでの対応がすべて一致する必要があります。
  • HTTPSで配信する。 これは両プロトコルの実務上の前提です。主要なブラウザーで、暗号化されていないHTTP/2またはHTTP/3をネゴシエートするものはありません。
  • HTTP/3の発見とフォールバックを理解する。 サイトへのブラウザーの最初の接続は、通常まだTCP(HTTP/2またはHTTP/1.1)でネゴシエートされます。サーバーまたはCDNがAlt-Svcヘッダー、あるいはDNSのHTTPS/SVCBレコードでHTTP/3の利用可能性を通知し、ブラウザーがそれをキャッシュして、次の接続でQUICを試します。ネットワークがUDPをブロックしている場合やQUICのハンドシェイクが失敗した場合、ブラウザーは自動的にHTTP/2またはHTTP/1.1へ戻ります。これは設計どおりの動作ですが、「オリジンがHTTP/3に対応している」ことは、特に初回訪問で、すべての訪問が実際にHTTP/3を使うことを意味しません。100%だと決めつけず、実際の比率を測ってください。
  • 自前ホスティングならサーバーソフトウェアの対応を確認する。 特にHTTP/3のWebサーバー対応は歴史的に遅れていました(変化が速いため、スタックの現在の状態を確認してから対応済みと判断してください)。CDNを使う方法が実務的なデフォルトである理由はここにもあります。

気にしなくてよいもの:Server Push

誰かがHTTP/2 Server Pushの実装を提案したら、答えは「いいえ」です。HTTP/2とHTTP/3の両仕様には今も技術的に定義されていますが、重要なブラウザーでは終わっています。ChromeのチームはRemoving HTTP/2 Server Push (Barry Pollard)で削除を説明しました。要点は次のとおりです。

“support of HTTP/2 Server Push will be disabled by default in Chrome 106 and other Chromium-based browsers.” (翻訳) 「HTTP/2 Server Pushのサポートは、Chrome 106およびその他のChromiumベースのブラウザーでデフォルト無効になります。」

普及率はすでに急落していました。PollardによればHTTP/2サイトでの利用は*“dropped to 0.7%”* (翻訳) 「0,7 %に落ちた」そうです。さらに重要なのは、性能面の根拠が成立しなかったことです。記事では、Pushが*“without a clear net performance gain and in many cases performance regressions.”* (翻訳) 「明確な純粋な性能向上なしに、そして多くの場合は性能低下を伴って」結果を出していたと説明されています。これはChrome/Chromiumが文書化した削除です。他のブラウザーエンジンも実際には同じ方向へ進んでいますが、「すべてのエンジンのソースコードからPushが消えた」という主張ではなく、設計上は「Pushはどこでも終わった」という実務上の現実を前提にしてください。

文書化されている代替手段は次のとおりです。

“103 Early Hints is a much less error-prone alternative with many of the same upsides as Push, and a lot less of the downsides” (翻訳) 「103 Early Hintsは、Pushと同じ利点の多くを持ちながら、問題点がはるかに少ない、エラーの起こりにくい代替手段です。」

加えて、必要になると分かっているリソースには標準の<link rel=preload>を使います。これらはresource hintsでも説明しています。結論として、2026年にServer Pushを前提に設計しないでください。

セキュリティ上の注意点(正直な1段落)

HTTP/2の大きな強みは、短期間ながら弱点にもなりました。2023年、HTTP/2を速くする多重化が、記録を更新するDDoS手法であるHTTP/2 Rapid Reset(CVE-2023-44487)の仕組みになりました。Cloudflareのエンジニアが説明した ように、多数のストリームを素早く開いてキャンセルできることは*“an obvious vector for denial-of-service,”* (翻訳) 「サービス拒否攻撃の明白なベクトル」であり、主要プロバイダーは毎秒数億リクエストに及ぶ攻撃を緩和しなければなりませんでした。これはHTTP/2を避ける理由ではありません。現代のサーバーとCDNにはパッチが適用されています。ただし、プロトコルを良い面だけのものとして売り込みすぎないためにも、正直な一文として触れておく価値があります。自前でホストしているなら、サーバーソフトウェアを最新に保ってください。

Webパフォーマンスにおける位置付け

HTTP/2とHTTP/3はトランスポート層のレバーであり、他のWebパフォーマンスクラスターと同じ下流の指標に影響します。配信が速くなるとTTFBとLCPが改善するため、このプロトコルの話は**Core Web Vitalsにつながります。CDNは通常、これらのプロトコルを有効にする方法であり、実際の普及を最も大きく後押ししたものでもあります。キャッシュresource hints**(Server Pushを置き換えたEarly Hintsやpreloadを含む)は、リソースをブラウザーへ届ける速さをさらに整えます。HTTP/2/HTTP/3は配信層の一部として適切に設定する価値がありますが、ユーザーのためのものであって、ランキングボタンではありません。

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.