Datasetteは11月7日(現地時間)、ブラウザ「Firefox」向けにHTTPヘッダー「link: rel=next」の提供を停止する方針を発表した。この決定は、FirefoxがHTMLページに対して不要なHTTPプリフェッチを実行し、Datasetteサーバーに不必要な負荷をかけている問題に対応する。Simon Willison氏は自身のブログで、この挙動が少なくとも24年前から存在し、自身も過去にその問題に言及していたことを指摘している。

Datasetteの開発者であるSimon Willison氏が自身のWeblogで詳細を説明したところによると、この措置は、Firefoxの特定の挙動がDatasetteサーバーに不必要なリソース消費を引き起こしているためだ。同氏がFirefoxのネットワークパネルを調査した結果、Datasetteのテーブルページへのリクエストが、当該テーブル内の次ページに該当する行に対するHTTPプリフェッチを自動的にトリガーしていることが判明した。

このプリフェッチは、Datasetteのページがlink: <https://latest.datasette.io/fixtures/compound_three_primary_keys?_next=a%2Cd%2Cv>; rel=nextのような形式のHTTPリンクヘッダーを提供していることが原因だという。実際にはDatasetteの訪問者のごく一部しか「次へ」のリンクをクリックしないにもかかわらず、Firefoxはこのヘッダーを解釈して次のページのコンテンツを事前に取得しようとする。これにより、ブラウザは使用されない可能性のある不要なデータをフェッチし、Datasetteサーバーはその後破棄される可能性のあるページ全体をレンダリングするという、双方向での無駄が発生していた。

Simon Willison氏は、この問題がFirefoxのネットワークスタックに長年にわたり存在していると指摘する。同氏の調査によると、MozillaのFirefoxにはこの挙動に関する未解決の課題が24年間開かれたままになっており、対応が図られていない状況だ。さらにWillison氏は、その課題の初期コメントの中に、自身が2002年にこの機能について苦言を呈したブログ記事へのリンクがあることを発見したと述べている。同氏は、この機能自体を完全に忘れ去っていたことに驚きを示した。

Datasetteは、この長年の問題に対処するため、Firefoxからのリクエストに対してHTMLページへのlink: rel=next HTTPヘッダーの提供を停止することで、不必要なプリフェッチを防ぎ、サーバーの負荷を軽減する方針だ。この変更により、ユーザーエクスペリエンスに影響を与えることなく、サーバーリソースの最適化が期待される。


参考: Simon Willison’s Weblog (アーカイブ) — 2026年11月8日 08:57 (JST)

この記事をシェア
X はてブ LinkedIn