bfcache
后退/前进缓存,或称 bfcache,是现代浏览器中一种增强性能的功能,可实现先前访问过的页面之间即时的后退和前进导航。它通过在用户离开页面时存储页面的完整快照来实现;当用户决定返回时,浏览器可以快速恢复该快照,而无需重新执行加载页面所需的网络请求。
快照在内存中包含整个页面,包括 JavaScript 堆;当用户离开页面时,正在进行的代码会被暂停,当他们返回页面时会恢复。另一方面,常规的 HTTP 缓存条目仅包含先前请求的响应。因此,bfcache 提供的结果比 HTTP 缓存更快。
缺点是 bfcache 条目需要更多资源,并在如何表示正在进行的代码方面带来复杂性。某些代码功能(例如 unload 处理程序)不兼容,因此它们在页面上的存在会阻止页面使用 bfcache。
bfcache 对性能非常有益,因此确保您的页面不会被阻止使用它符合您的利益。您可以使用 notRestoredReasons API 来监控页面是否被阻止使用 bfcache,以及被阻止的原因。
另见
- Back and forward cache on web.dev (2023)