「Firefox Quantum」の高速化、モジラのエンジニアが隠し技の1つを明らかに



 Mozillaのエンジニアが、「Firefox Quantum」(バージョン57)でページの読み込み時間を速めるために使われている隠し技の1つを明らかにした。

 MozillaはすでにFirefox Quantumのアーキテクチャに多くの変更を施して速度やパフォーマンスを改善しているが、それとは別の秘密の裏技によってページの読み込みを高速化している。その裏技とは、www.google-analytics.comなどトラッキングドメインのスクリプトのロードを遅らせることだ。

 このテクニックを開発したのはMozillaのエンジニアであるHonza Bambas氏で、同氏はこの技を「テーリング(尾行)」と呼んでいる。ページが自らを能動的に読み込んでレンダリングする際に可能な場合、この処理が実行される。

 この機能はプライバシーの強化を意図したものではないが、Firefoxのプライバシー機能である「トラッキング保護機能」のデータを活用している。

 テーリングは、追跡スクリプトを完全に無効にするのではなく、そうしたスクリプトの読み込みを短時間止めるだけだ。追跡要求よりもサイト要求を優先する形でページを読み込む間のネットワーク帯域や計算リソースを節約することにより、ページの読み込み性能が改善される。

 Bambas氏は次のように説明している。「サイトのサブリソースがまだ読み込まれている最大わずか6秒ほどの間、リクエストは保留にされる。この遅延を適用するのは、動的またはasync(非同期)属性で追加されたスクリプトだけだ。画像やXHRの追跡は常に遅延させられる(中略)。これはあらゆるHTML仕様に準拠しており、適切に構築されているサイトなら機能性の面で影響はないと思われる」

 だが、テーリングは一部のサイトでうまく機能せず、ページが徐々に描画される代わりに数秒間空白になる場合もある。Bambas氏は、こうしたことが起こり得る例としてGoogleの「Page-Hiding Snippet」を挙げている。

 ただし、Page-Hiding Snippetに関するバグ報告の中でBambas氏が指摘しているように、「テーリングの目的は、いかなる視覚的影響もないと思われる要素を遅らせることでパフォーマンスを後押しすること」だ。

 Firefoxはさらに、すべてのHTTPページをセキュアでないものとして表示する計画も進めている。現在は、ログインまたは決済データを扱うHTTPページの入力フィールドに警告を表示している。BleepingComputerが報じているように、「Firefox 59」の Nightlyビルドでは、HTTPSでないすべてのサイトをセキュアでないと表示するように設定できる。

 最初のステップは、FirefoxですべてのHTTPサイトに対しセキュアでないと表示するオプションを提供することだ。ウェブにおいてHTTPSの利用が拡大するなか、FirefoxはいずれデフォルトでHTTPサイトをセキュアでないと表示し始める可能性がある。



この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

こんな記事も読まれています



コメントを残す