浏览器缓存机制(HTTP缓存机制)

不废话,直接上干货,配图+解说

浏览器缓存机制(HTTP缓存机制)_第1张图片

首先浏览器首次请求一个网站,网站除了会返回我们需要资源,同时也会返回一些标识信息,这些标识信息约定了客户端和服务端的一些操作,这里列举重要的:

1.cache-control:和客户端约定如何缓存 (强制缓存,我叫你用本地的就用本地的,服务器十分霸道)

cache-control:max-age:1000 这个表示这个资源给你,你1000秒可以不要烦我,自己从缓存里面拿,这叫做强制缓存,不管你有没有更新,我服务器不管你的死活

真实遇到过的场景:空气污染站点数据,max-age:3600 意思是我这个1小时内你自己玩自己的数据吧,我这服务器可顶不住你们造

2.last-modified、ETag 协商缓存

跟Hash码差不多,表示资源有没有变动

跨过强制缓存才到协商缓存(max-age时间过后开启),也就是说,在max-age时间之内,并不会将last-modified和Etag拿出来作比较,有时候协商缓存也叫对比缓存

对比之后呢,没变化,你自个儿用自己的吧,对大家都好,返回个304

有变化,不行的给你新的,给你新的资源,再返回个200

最后再附点材料图吧:

强制缓存

浏览器缓存机制(HTTP缓存机制)_第2张图片

浏览器缓存机制(HTTP缓存机制)_第3张图片

 协商缓存

浏览器缓存机制(HTTP缓存机制)_第4张图片浏览器缓存机制(HTTP缓存机制)_第5张图片

你可能感兴趣的:(缓存,http,服务器)