Back/Forward-Cache (bfcache)

Der Back/Forward-Cache (bfcache) ist eine Browser-Funktion, die eine komplette Seite samt JavaScript-Zustand und DOM im Arbeitsspeicher konserviert, wenn Nutzer:innen sie über einen Link verlassen. Kehrt man über den Zurück- oder Vorwärts-Button zurück, wird die Seite ohne erneuten Netzwerk-Request und ohne Neuladen von Skripten sofort wiederhergestellt. Chrome, Firefox und Safari unterstützen bfcache inzwischen browserübergreifend. Im Unterschied zum klassischen Browser-Caching über HTTP-Header cached bfcache nicht einzelne Ressourcen, sondern den kompletten gerenderten Seitenzustand inklusive laufender Skripte.

In der Praxis

Viele Websites verhindern bfcache ungewollt – am häufigsten durch unload-Event-Listener (in Desktop-Chrome und -Firefox ein Ausschlussgrund, auf Mobilgeräten dagegen nicht), durch offene IndexedDB-Verbindungen oder laufende fetch-/XHR-Anfragen, durch window.opener-Referenzen oder den Header Cache-Control: no-store – Letzteres betrifft häufig eingeloggte Bereiche wie Kundenkonten oder Warenkörbe. Offene WebSocket-Verbindungen blockieren den bfcache in Chrome (seit Version 149) und Safari nicht mehr, in anderen Browsern weiterhin schon. Mit den Chrome DevTools (Tab "Application" → "Back-forward cache" → "Run Test") lässt sich pro Seite genau prüfen, was eine Wiederherstellung blockiert. Für Agenturen lohnt sich ein regelmäßiger bfcache-Check, da schon ein einzelnes Analytics- oder Chat-Skript mit unload-Listener die Funktion auf dem Desktop für die gesamte Seite deaktivieren kann. Wo möglich sollten beforeunload-Handler nur bedingt gesetzt werden (z. B. nur bei ungespeicherten Formulareingaben). Ein funktionierender bfcache verbessert vor allem die gefühlte Geschwindigkeit bei Multi-Page-Navigationsflüssen wie Kategorie- zu Produktseite und zurück – ein Effekt, der in klassischen Labormessungen oft unterschätzt wird.

Passende Leistung

Quellen

← Zurück zum Glossar