Chrome
Chrome開発チームが新方式のキャッシュ機能の開発に取り組んでおり、「進む」「戻る」操作によるページ再表示の爆速化が検討されていると報じられました。

新たなキャッシュは「bfcache」と呼ばれるもの。「b」とはバック(戻る)、「f」はフォワード(進む)を意味しており、直近に読み込んだページの再表示を高速化する機能とされています。Webブラウザにおけるキャッシュとは、一度開いたWebページのデータを保存しておき、次に開くときにネットへのアクセスを省くことで高速化を実現する機能のこと。

しかし現行のChromeでは、ブラウザはHTMLを再解析してページを再構築し、画像データを解凍し、JavaScriptを再実行してスタイルシートを再適用して......といった処理をゼロから行う必要があり、省かれるのはネットへのアクセスだけです。

新技術bfcacheでは、ページを移動する際にページ全体の状態をキャッシュします。つまり、実行中のスクリプトやレンダリング済みの画像、スクロール位置など、実行中のページ全体の状態を保存することで、「戻る」ボタンでページの完全な状態を直ちに復元できるわけです。Googleの解説ページでは「ページを離れると一時停止、戻ると再生」と動画プレイヤーになぞらえられています。

Chrome開発チームは、初期のプロトタイプでどれほど高速化されているかを示すデモ動画を公開しています。以下の動画はデスクトップ版Chromeにbfcacheを実装したもの。



Android版Chromeでも、スクリプトの実行や再描画の処理をスキップして瞬時にページ表示しているさまが確認できます。



従来のキャッシュとは異なり、bfcacheの対象はあくまで最近アクセスしたページのみに限られます。しかしGoogleいわく「戻る/進む」によるアクセスは典型的なWebブラウズのかなりの部分を占めており、デスクトップであれば約10%、モバイルでは19%が前後ページの再訪だとしています。

もっともテック系情報サイトArsTechnicaによれば、競合WebブラウザのSafariもFirefoxも、すでに何年も前から同じような方式のキャッシュを採用していたとのこと。Safariでは2002年から、Firefoxでは2005年以降から実装されており、Chromeはようやく追いつくことになるわけです。

ただし、ChromeチームのエンジニアリングマネージャAddy Osmani氏は、プライバシーやセキュリティを保護するためブラウザのコア部分を書き換える必要があると語っています。

bfcacheは2019年中にテストされ、2020年に正式にChromeへの組み込みを目指すとのことです。