bfcache: почему «Назад» мгновенный, а SPA его ломает
Back/forward cache, события `pageshow`/`pagehide` и что отключает восстановление страницы в Chrome.
bfcache (back/forward cache) хранит полностью отрисованную страницу в памяти — возврат «Назад» часто мгновенный без повторной загрузки JS и layout.
Unload-хендлеры, `Cache-Control: no-store` и незакрытые WebSocket/IndexedDB транзакции могут выгнать страницу из bfcache — проверяйте в DevTools Application → Back/forward cache.
- Back/forward cache — web.dev — Условия eligibility и диагностика.
- Page Lifecycle API — web.dev — frozen, hidden, terminated.
SPA
В React/Vue избегайте `beforeunload` ради аналитики; используйте `pagehide` и `event.persisted`.
При восстановлении из bfcache переподключайте live-данные, но не перезагружайте весь бандл.