其他分享
首页 > 其他分享> > 浏览器端强缓存与协商缓存

浏览器端强缓存与协商缓存

作者:互联网

强缓存

强缓存的实现

cache-control

  1. max-age=31536000,表示资源最大有效时间的秒数,是一个相对值,不会因为用户修改本地时间而导致失效。
  2. public/private:public表示浏览器和代理服务器(nginx、CDN)都可以缓存;private表示仅浏览器端可以缓存。
  3. immutable:设置用户做了刷新操作(点击浏览器左上角的刷新按钮去刷新页面),也不向服务器发起http请求。
  4. no-cache:客户端缓存内容,但是是否使用缓存需要经过协商缓存来验证决定(即每次请求都会询问服务端)。
  5. no-store:浏览器端、服务器端都不缓存,即不使用强制缓存也不使用协商缓存。

协商缓存

协商缓存的步骤

ETag与Last-Modified

Last-Modified的缺点

  1. Last-Modified保存的是绝对时间,并且是精确到秒,所以如果资源在1秒内修改了多次的话,那就无法识别;
  2. 对于文件只改变了修改时间,内容不变,这时候也会使缓存失效,其实这个时候我们是不希望客户端重新请求的;
  3. 某些服务器不能精确的得到文件的最后修改时间

ETag的缺点

标签:缓存,Last,Modified,ETag,端强,浏览器,服务端
来源: https://blog.csdn.net/zhaowanwan/article/details/111166671