ニュース

Mozilla、プレビュー版「Firefox」で「HTTP/3」「QUIC」のサポートを開始

安定版「Firefox 88」でも段階的に展開

公式ブログ“Mozilla Hacks”

 Mozillaは4月16日(米国時間)、「HTTP/3」「QUIC」のサポートをプレビュー版「Firefox」で開始したと発表した。「Firefox Nightly」と「Firefox Beta」ではすでにデフォルト有効化されている。安定版になったばかりの「Firefox 88」でも段階的に展開を開始し、5月末までにデフォルトで利用できるようにする考えだ。

 「QUIC」(Quick UDP Internet Connections)は、TCPに代わるトランスポートレイヤーのプロトコル。初回接続(ハンドシェイク)に何度もパケットの往復が必要なTCPではなく、接続先の応答を待たないUDPをベースにすることで高速化を図ったプロトコルだ。Googleが2013年に初めて発表して以降、さまざまなベンダーが参加して改善と普及が進められおり、現在ではGoogleのトラフィックの1/3以上で「QUIC」が利用されているという。HTTPの最新バージョン「HTTP/3」では、TLS接続に加え「QUIC」が必須となっている。

 Mozillaによると、「HTTP/3」は「HTTP/2」と比較して主に3つの点で優れているという。

  • UDPをベースにしているため、接続にかかる時間が短くなる
  • パケットの配送の一部が遅延することで影響が接続全体に及ぶ“ヘッドオブラインブロッキング”(Head-of-Line Blocking)が発生しない
  • パケットロスの検出と修復がより適切に行われる

 「HTTP/3」が初期状態で有効化されたプレビュー版「Firefox」では、Webサーバーと接続する際に「HTTP/3」を自動で利用しようと試みる。Webサーバーはレスポンス(返信)にAlt-Svcヘッダーを用いるか、HTTPS DNSレコードで明示することで、「HTTP/3」対応であることをクライアントに知らせることができる。

 ただし、「HTTP/3」接続を完了するには「HTTP/3」「QUIC」のドラフトバージョンが一致していなければならない。たとえば「Firefox」は“h3-27”から“h3-32”をサポートしているので、サーバー側もそのいずれかのバージョンをサポートしていることを報告する必要がある。

「Firefox Nightly」で「HTTP/3」接続