1.什么是缓存
防止多余的请求访问服务器,对服务器造成压力,从而提高性能。
可以被缓存的的资源:img,css,js
强制缓存:
cache-control(在Responder Headers中,控制强制缓存的逻辑)
举例:cache-control:max-age=31536000(单位是秒)
expires:同在Respond Headers中,同为控制缓存过期,已被cache-control代替
协商缓存(对比缓存)
是服务器缓存策略
服务器判断客户端资源,是否和服务器资源一样,一样的话,返回302,否则返回200和新的资源
sequenceDiagram
浏览器->>服务器: 初次请求
服务器-->>浏览器:返回资源和资源标识
浏览器-->>服务器:再次请求,带着资源标识
服务器-)浏览器:返回304,或者返回资源和新的资源标识
资源标识
在Respond Headers中,有两种
Last-Modified资源的最后修改时间
Etag资源的唯一标识(一个字符串,类似人类的指纹)
Last-Modified和Etag,会优先使用Etag,Last-Modified只能精确到秒级,如果资源被重复生成,而内容不变,那
么Etag更准确