1、缓存是优化系统性能的重要手段,HTTP 传输的每一个环节中都可以有缓存;
2、服务器使用“Cache-Control”设置缓存策略,常用的是“max-age”,表示资源的有效期;
3、浏览器收到数据就会存入缓存,如果没过期就可以直接使用,过期就要去服务器验证是否仍然可用;
4、验证资源是否失效需要使用“条件请求”,常用的是“if-Modified-Since”和“If-None-Match”,收到 304 就可以复用缓存里的资源;
5、验证资源是否被修改的条件有两个:“Last-modified”和“ETag”,需要服务器预先在响应报文里设置,搭配条件请求使用;
6、浏览器也可以发送“Cache-Control”字段,使用“max-age=0”或“no_cache”刷新数据。
服务器端的“Cache-Control”属性:max-age、no-store、no-cache 和 must-revalidate,