Skip to content

缓存

缓存分类

一个HTTP Request从用户点击的一瞬间,到服务器返回请求,一般会经过以下类型的缓存

缓存

1. 浏览器端的缓存

  • HTML5中本地存储功能在浏览器端保存的数据(sessionStorage,localStorage,Cookie)
  • Flash等第三方插件也有类似的缓存
  • Javascript保存的一些数据在当前的Context

2. 浏览器端文件的缓存 (强缓存)

  • HTTP协议中在时间未过期等情况下,不请求服务器数据直接使用本地的缓存文件
  • 常用于html、Javascript、css等文件的缓存

3. HTTP 304缓存(对比缓存)

  • HTTP协议中,如果服务器文件未发生变化,不返回用户请求的数据,而是返回一个304响应。
  • 不减少请求的数量,但是减少响应的体积。
  • 通过控制动态文件的输出内容实现缓存(Etag)

4. 服务器端文件的缓存

  • 动态页面静态化HTML文件
  • 代理服务器,CDN
  • 某些不常更新的数据静态化为文件

5. 普通内存缓存

  • session

6. 分布式缓存

7. 数据库缓存

8. 表现层和DOM缓存

  • 在客户端和服务器端缓存HTML片段
  • jQuery的链式表达式