浏览器缓存看这一篇就够了
关闭标签页,再此打开https://github.com/xiangxingchen/blog时 F5刷新时 简单的对比一下 3、协商缓存 协商缓存就是强制缓存失效后,浏览器携带缓存标识向服务器发起请求,由服务器根据缓存标识决定是否使用缓存的过程,主要有以下两种情况:
3.1、Last-Modified和If-Modified-Since 浏览器首先发送一个请求,让服务端在response header中返回请求的资源上次更新时间,就是last-modified,浏览器会缓存下这个时间。 然后浏览器再下次请求中,request header中带上if-modified-since:[保存的last-modified的值]。根据浏览器发送的修改时间和服务端的修改时间进行比对,一致的话代表资源没有改变,服务端返回正文为空的响应,让浏览器中缓存中读取资源,这就大大减小了请求的消耗。 由于last-modified依赖的是保存的绝对时间,还是会出现误差的情况: 保存的时间是以秒为单位的,1秒内多次修改是无法捕捉到的; 各机器读取到的时间不一致,就有出现误差的可能性。为了改善这个问题,提出了使用etag。 3.2、ETag和If-None-Match (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |