Web

HTTP/3での接続を強制的に止める方法 (Chrome)

投稿日:

1. HTTP/3でのアクセスに切り替わる仕組み

ブラウザでWebサイトにアクセスする場合、Webサイト側がHTTP/3 に対応していても、一回目は HTTP/3 でアクセスしません。そのWebサイトがHTTP/3に対応しているかどうか分からないからです。

ではどうしているのかというと、HTTP/3 に対応しているWebサーバーは、一回目のレスポンスで「h3」を指定した alt-svc というフィールドをブラウザに返します。

以下に、alt-svc フィールドの例を示します。

alt-svc: h3=":443"; ma=43200

この例の場合、h3 というプロトコル(HTTP/3です)をポート番号443で指定しており、有効な期間(ma = max age)は、43200秒(=12時間) です。

この情報を受け取ったブラウザは、次回のアクセスから HTTP/3 でアクセスすることができます。

レスポンスに alt-svcフィールドがセットされています
h2 は HTTP/2、h3 は HTTP/3 を表します

1.1. HTTP/2 ではどうしていた?

HTTP/2 のときは、TLSハンドシェイクの中で「HTTP/2 が利用可能」であることをブラウザに伝えていました。これについては、以下の記事で説明してます。

Web

ウェブブラウザが、HTTP/1.1 もしくは HTTP/2 のどちらを使うか判定する仕組み (httpsスキームのみ)

2020.06.29

しかし、HTTP/3 では UDP の上の階層で TLSではなく「QUIC」プロトコルが使われている(HTTP/2 では TCP の上で TLS が使われている)ので同様の仕組みが使えず、そのため alt-svcフィールドが使われているようです。

2. 元に戻す方法は? (Chromeの場合)

alt-svc フィールドの ma (デフォルトは24時間)で指定された期間を過ぎれば、HTTP/3 でアクセスしなくなります。(とはいえ、またアクセスすれば alt-svc フィールドを受け取るでしょうから、すぐに HTTP/3 でのアクセスに戻るでしょう。)

では、指定された期間内であっても、強制的に HTTP/3 でのアクセスを止める方法はあるのでしょうか?

Chrome において、それらしい手順が分かりましたので、ここに記録しておきます。これが本記事の目的でした。

簡単に言うと、「QUIC」プロトコルの機能を一旦無効にしてから再度有効にする、という方法です。

2.1. 手順

手順は以下になります。

(1) Chrome のアドレスバーに、「chrome://flags」と入力して Enter キーを押します。

(2) [Experimental QUIC protocol] のプルダウンメニューで [Disabled] を選択し、画面したに表示される [Relaunch] ボタンを押します。Chrome が再起動されます。

実験的な機能のようです
[Relaunch] ボタン

(3) もう一度 (2) の操作を行いますが、プルダウンメニューでは [Default] を選択します。再度 Chrome が再起動されます。

以上です。

2.2. 注意点

  • 目的のWebサイトがある場合は、ひょっとしたら (2) の後で一度そのWebサイトにアクセスしておくとよいかもしれません。
  • 公式な方法でもないですし、もちろん確実な方法でもありません。

3. 参考

📂-Web

執筆者:labo


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

ただ今、本ウェブサイトを改造しています

現在、このウェブサイトを改造しています。 今回、WordPress の「Attitude」というテーマを使ってみたのですが、評判が良いだけあって使いやすいです。デザインがすっきりしていてシンプルなのも …

Glitch

Glitch プロジェクトの .git ディレクトリ・サイズを小さくしました

Glitch プロジェクトの .git ディレクトリ・サイズを小さくしました。そのときの作業内容を紹介します。

Chrome

Google Chrome 68 で、HTTPS非対応のマークが変わりました

目次1. Chrome 68 がリリース2. 以前のマーク3. Chrome 68 以降のマーク4. ついでに、https にしてアクセスしてみる5. おわりに 1. Chrome 68 がリリース …

Chrome

誤って Chrome を閉じた後で、さっきまで開いていたページを開く

誤って Chrome を閉じた後で、さっき開いていたページを開く方法を紹介します。

Chrome

Chrome 78 デベロッパーツールの新機能

Chrome 78 のデベロッパーツールにおいて、主な新機能を紹介します。