Laptop and mobile phone

Exploring a back/forward cache for Chrome

Published on Updated on

On the Chrome team, we are exploring a new back/forward cache to cache pages in-memory (preserving JavaScript & DOM state) when the user navigates away. This is definitely not a trivial endeavor but if it succeeds it will make navigating back and forth very fast.

A back/forward cache (bfcache) caches whole pages (including the JavaScript heap) when navigating away from a page, so that the full state of the page can be restored when the user navigates back. Think of it as pausing a page when you leave it and playing it when you return.

Below is a first-look of an early prototype of back/forward cache in action on desktop:

We also have a preview of the back/forward cache working on Chrome for Android:

We estimate this change could improve performance up to 19% of all navigations for mobile Chrome. You can find more detail about this feature in the bfcache explainer.

There is medium cross-browser interop risk with this change. Both Firefox and Safari already have back-forward cache implementations that are subtly different. Chrome is opting not to use WebKit’s implementation of bfcache due to incompatibility with Chrome’s multiprocess architecture.

Our formal intent-to-implement for the back-forward cache is on blink-dev for anyone wishing to contribute to the discussions.

Thanks to Arthur Sonzogni, Alexander Timin, Kenji Baheux and Sami for their help putting together our prototype videos.

Updated on Improve article

We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.