缓存分类:强制缓存、对比缓存
缓存原理:客户端发送请求--浏览器缓存数据库文件--服务器文件
强制缓存:
1.Expires:设置过期时间、http1.0使用,客户端与服务器存在时间差时,会有很大的影响,所以http1.1升级为Cache-Control
2.Cache-Control:
--private、public:客户端、代理服务器可以缓存
--max-age:多少秒缓存失效
--no-cache:不用强制缓存,用于对比缓存,相当于max-age=0
--no-store:不使用缓存,所有缓存失效
对比缓存:
1.状态码:304/200
2.Last-Modified/If-Modified-Since
--Last-Modified:服务器响应的文件最后修改时间
--If-Modified-Since:客户端发送的上次文件最后修改时间
3.Etag/If-None-Match:优先级高于last-Modified
--Etag:服务器响应的当前资源唯一标识
--If-None-Match:客户端发送的缓存中的该文件标识码
注意:
强制缓存 > 对比缓存,即只有强制缓存失效时才执行对比缓存
Etag > Last-Modified,即存在Etag时不使用Last-Modified