back forward cache
- https://web.dev/articles/bfcache?hl=ko
- 사용자가 다른 페이지로 이동할 때, 페이지의 전체 스냅샷(자바스크립트 힙 포함)을 저장하는 메모리 내 캐시
- 전체 페이지가 메모리로 저장되므로, 사용자가 돌아오기로 결정하면 브라우저에서 신속히 페이지를 복원 가능
- 브라우저에서는 자바스크립트 작업 대기열(태스크큐)의 모든 대기중인 작업을 포함하여, bfcache 의 페이지에 관한 대기중인 타이머 또는 해결되지 않은 promise 를 일시중지하고, 페이지가 bfcache 에서 복원되면 작업 처리를 재개한다.
SPA 에서는?
- 단일 페이지 앱내의 소프트 탐색에서는 작동하지 않음.
bfcache 관찰 API
- 페이지 전환 이벤트 (pageshow, pagehide)
- 크롬의 페이지 수명 주기 이벤트(freeze, resume)은 페이지가 bfcache 에 진입하거나, 나갈 때 뿐만 아니라 CPU사용량을 최소화 하기 위해 백그라운드 탭이 정지되는 등, 일부 다른상황에도 전달 가능.