Appearance
缓存
缓存分类
一个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的链式表达式