浏览器缓存工作流程
2020-06-15 11:54:20 0 举报
浏览器缓存工作流程
作者其他创作
大纲/内容
否
浏览器展现
服务器返回请求资源
是
向服务器请求带If-Modified-Since
200
从缓存中获取
总结: 1. 浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识; 2. 浏览器每次拿到返回的请求结果都会将该结果和缓存标识存入浏览器缓存中; 3. 强制缓存优先于协商缓存进行,若强制缓存(Expires和Cache-Control)生效则直接使用缓存,若不生效则进行 协商缓存(Last-Modified / If-Modified-Since和Etag / If-None-Match),协商缓存由服务器决定是否使用缓存, 若协商缓存失效,那么代表该请求的缓存失效,重新获取请求结果,再存入浏览器缓存中;生效则返回304,继续使用缓存。
检查新鲜度(Cache-Control || Expires) 有效?
浏览器第一次请求
有无缓存
向服务器请求带If-None-Match
向服务器请求
ETag?
304
浏览器请求
Last-Modified?
备注:1. Cache-Control 的优先级高于 Expires (强缓存)2. Etag/If-None-Match 优先级高于 Last-Modified/If-Modified-Since (协商缓存)
是否过期
缓存再验证请求(比较资源变化)
200 or 304
收藏
0 条评论
回复 删除
下一页