浏览器前进后退缓存与离线缓存并存时如何兼顾恢复速度和数据新鲜度
简答题中等963 次浏览
参考答案与解析
# 核心结论
浏览器前进后退缓存与离线缓存并存时,应将页面状态恢复、静态资源复用和业务数据新鲜度拆成三层治理:用 bfcache 尽可能恢复页面实例、滚动位置和运行状态;用 HTTP Cache 或 Service Worker 复用带版本的静态资源;对业务数据设置时效、版本和权限校验,并在恢复后按数据重要性执行后台更新。恢复速度不能以错误数据或越权操作为代价,强时效操作在校验完成前应被限制。
# 底层机制
bfcache 保存的通常是完整页面实例及其部分运行状态,命中后不一定重新执行常规加载流程。磁盘资源缓存只减少资源传输,页面仍可能发生脚本解析、执行、布局和绘制。Service Worker 可
