前端/移动开发面试题更新 2026-08-05

在Web前端开发中,实现静态资源本地缓存的手段通常包括哪些?请列举并简要说明各自的适用场景。

前端/移动开发技术原理方案权衡Service Worker

考察说明

考查对前端静态资源缓存机制(如HTTP缓存、浏览器缓存、Service Worker等)的掌握程度。

回答思路

  1. 【回答框架 1】HTTP缓存是基础手段,通过响应头如Cache-Control和Expires控制浏览器缓存行为,其中Cache-Control的max-age指定相对过期时间,优先级高于Expires。
  2. 【回答框架 2】协商缓存通过ETag或Last-Modified实现,浏览器携带If-None-Match或If-Modified-Since请求,服务器返回304或200,适用于资源可能变化但需减少传输的场景。
  3. 【回答框架 3】Service Worker缓存是更高级的本地缓存,通过拦截请求并缓存响应,可实现离线访问和自定义缓存策略,如Cache First或Network First,适合PWA应用。
  4. 【回答框架 4】浏览器本地存储如localStorage和IndexedDB也可缓存静态资源内容,但通常用于数据而非资源文件,且容量有限,不适合大体积资源。
  5. 【回答框架 5】实际项目中常组合使用:HTTP缓存用于常规资源,Service Worker用于离线优先,配合版本号或hash文件名实现缓存更新。
  6. 【关键点 1】HTTP缓存通过Cache-Control和Expires控制,优先级Cache-Control高于Expires。
  7. 【关键点 2】协商缓存依赖ETag或Last-Modified,减少重复传输。
  8. 【关键点 3】Service Worker可拦截请求实现离线缓存和自定义策略。
  9. 【关键点 4】localStorage和IndexedDB适合小数据缓存,不适合大资源。
  10. 【关键点 5】缓存更新需结合文件hash或版本号,避免旧缓存。
  11. 【易错点 1】过度依赖缓存可能导致资源更新不及时,需合理设置max-age和版本控制。
  12. 【易错点 2】Service Worker缓存策略不当可能造成资源永久过期,需谨慎设计缓存清理机制。
  13. 【易错点 3】忽略缓存验证可能导致用户看到过期内容,需结合协商缓存或强制刷新。