bfcache
後退/前進快取,或稱 bfcache,是現代瀏覽器中一種增強效能的功能,可實現先前訪問過的頁面之間即時的後退和前進導航。它透過在使用者離開頁面時儲存頁面的完整快照來實現;當用戶決定返回時,瀏覽器可以快速恢復該快照,而無需重新執行載入頁面所需的網路請求。
快照在記憶體中包含整個頁面,包括 JavaScript 堆;當用戶離開頁面時,正在進行的程式碼會被暫停,當他們返回頁面時會恢復。另一方面,常規的 HTTP 快取條目僅包含先前請求的響應。因此,bfcache 提供的結果比 HTTP 快取更快。
缺點是 bfcache 條目需要更多資源,並在如何表示正在進行的程式碼方面帶來複雜性。某些程式碼功能(例如 unload 處理程式)不相容,因此它們在頁面上的存在會阻止頁面使用 bfcache。
bfcache 對效能非常有益,因此確保您的頁面不會被阻止使用它符合您的利益。您可以使用 notRestoredReasons API 來監控頁面是否被阻止使用 bfcache,以及被阻止的原因。
另見
- Back and forward cache on web.dev (2023)