http 缓存 分成 强缓存和协商缓存
强缓存 大于 协商缓存
强缓存
定义:只要缓存的时间没有到期,就会直接从缓存里面那,就算是从服务器的文件修改了,也不会从服务器获取了
下面的属性:
expires: 绝对时间
cache-control : max-age : xx秒(时间戳)
no-cache
no-store: 不使用缓存
public/private: 是否只能被单个用户使用
补:cache-control 优先级大于 expires
协商缓存
ETag/if-Not-Match
优先级:高
1.默认使用hash算法,在分布式环境下可能不同的服务器生成不同的ETag 不一样
2.精确的判断浏览器的修改,能识别每秒的修改次数
Last-Modified/if-Modified-Since
优先级:低
1.只要资源文件修改了,不管文件是否变化,都会返回资源给客户端
2.有时刻为标示,不能获取一秒的修改
3.有些服务器不能获取最后的修改时间
补:ETag 大于 Last-Modified