离线能力与多层缓存同时启用时,怎样保证版本一致而不牺牲命中率?
简答题困难624 次浏览
参考答案与解析
# 核心结论
离线能力与多层缓存并存时,不能让每一层独立决定版本和过期时间。应先按资源类型建立统一契约:带内容摘要的静态资源采用不可变地址和长期缓存;入口文档保持可重新验证;业务接口依据是否允许陈旧、是否与用户身份相关以及失败时能否回退选择策略;Service Worker 负责离线编排,但不能破坏 HTTP 缓存语义。版本一致性的关键是先发布新版本所需的全部资源,再发布引用它们的入口,并为旧版本资源保留兼容期。
# 底层机制
浏览器的 HTTP 缓存、Service Worker 的 Cache Storage、页面内存状态和业务数据缓存属于不同层次。HTTP 强缓存可以避免网络请求,验证缓存
