HTTP缓存如何提高Web应用程序的性能?( 二 )


浏览器中的缓存位置一共有四种,按优先级从高到低排列分别是:

  • Service Worker — 其借鉴了 Web Worker 思路,主要功能有:离线缓存、消息推送和网络代理,其中离线缓存就是 Service Worker Cache 。
  • Memory Cache — 内存缓存,从效率上讲它是最快的,从存活时间来讲又是最短的,当渲染进程结束后,内存缓存也就不存在了 。
  • Disk Cache — 存储在磁盘中的缓存,从存取效率上讲是比内存缓存慢的,优势在于存储容量和存储时长 。
  • Push Cache — 推送缓存,它浏览器缓存的最后一道防线,它是 HTTP/2 的内容 。
浏览器在选择 Disk Cache 与 Memory Cache 的存储上:内容使用率高的,文件优先进入磁盘 。比较大的 JS、css 文件会直接放入磁盘,反之放入内存 。
强缓存与协商缓存区别
  • 强缓存 — 浏览器不会与服务端协商,而是直接获取浏览器缓存 。
  • 协商缓存 — 浏览器会先向服务器确认资源的有效性后,才决定是从缓存中获取资源还是重新获取资源 。
  • 强缓存在浏览器进行判断,而协商缓存在服务端进行判断 。




推荐阅读