终于要学缓存了
缓存分类
- web缓存可以分为很多,数据库缓存/代理服务器缓存/CDN缓存/浏览器缓存
- 浏览器先向代理服务器发起web请求,再将请求转发到源服务器。代理服务器属于共享缓存,所以很多地方都可以使用其缓存资源,因此对节省流量有很大的作用
- 浏览器缓存是将文件保存在客户端,在同一个会话过程中会检查缓存的副本是否足够新,在后退网页时,访问过的资源可以从浏览器缓存中拿出来使用
缓存过程分析
浏览器与服务器通信的方式为应答模式。
浏览器发起HTTP请求——服务器响应该请求
浏览器第一次向服务器发起该请求后拿到请求结果,将请求结果和缓存标识存入浏览器缓存,浏览器对于缓存的处理是根据第一次请求资源时返回的响应头决定的
浏览器缓存的关键:浏览器每次发起请求,都会首先在浏览器缓存中查找该请求的结果和缓存标识/浏览器每次拿到请求结果都会将该结果和缓存标识存入浏览器缓存中
浏览器缓存
页面的缓存状态是由header决定的,header的参数有四种
强缓存
不会向服务器发送请求,直接从缓存中读取资源,返回200状态码,通过Expires和Cache-control实现
强缓存过程
浏览器向浏览器缓存发起HTTP请求
浏览器缓存中不存在结果和缓存标识
浏览器向服务器发送HTTP请求
服务器返回请求结果和缓存标识
浏览器把请求结果和缓存标识