缓存位置
disk cache
根据http header设置缓存类型
大部分为disk cache
memory cache
内存资源充足的情况下,一部分资源直接使用内存缓存
他不受max-age、no-cache等配置的影响
一旦关闭了浏览器,这一部分用于缓存的内存空间就会被释放掉
如果真的不想使用缓存,可以设置no-store,这样,即便是内存缓存,也不会生效
强缓存
cache control
max-age设置缓存时常、以秒为单位
请求资源后浏览器会将请求的事件记录下来在max-age设置的时间长度内不会去请求资源
设置为no-store浏览器不会缓存(内存缓存也失效)直接向服务器发送请求
设置为no-cache需要通过协商缓存来确定
expires
服务器设置具体的到期时间
到期事件内不会去发送请求
若浏览器本地时间和服务器时间不一致可能不会达到预期效果
协商缓存
etag
文件的唯一标识,只要文件发生了改动标识也会改变
last-modified
文件最后一次更改的时间
缓存机制
在强缓存时间范围内
强缓存生效,直接使用本地缓存资源
强缓存失效
有协商缓存标识携带标识向服务器发送请求,若文件没有改动返回304,不携带请求资源
若文件发送了改动,则返回最新资源,更新标识,返回200
若有memory cache直接使用缓存不请求