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

メールアドレスが公開されることはありません。

関連記事

HTML

HTML におけるコメントの書き方

HTML におけるコメントの書き方について説明します。 目次1. コメントとは?2. HTML におけるコメントの記述テキストの制限3. 仕様書 1. コメントとは? まず、「コメント」というのは、「 …

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

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

Chrome

Chrome の「ピクチャー イン ピクチャー」機能を使って、YouTube の動画を最前面で再生する

目次1. Chrome の「ピクチャー イン ピクチャー」機能2. ピクチャー イン ピクチャーを行う方法3. プレイヤーの操作など3. おわりに 1. Chrome の「ピクチャー イン ピクチャー …

Web

Basic認証の設定手順

Basic認証の設定手順について説明します。

Web

Web Components: CSS Shadow Parts の使い方

CSS Shadow Parts の使い方を説明します。