浏览器读取缓存流程

 

1.浏览器会先去查看响应头部的cache-control(缓存控制)
2.如果没有到达过期时间,会直接返回缓存中的内容,不需要重新读取服务器
3.如果cache-control设置为 no-cache,浏览器会去读取expires(缓存过期时间)
4.如果没有到达expires过期时间,会直接返回缓存中的内容,不需要重新读取服务器
5.如果cache-control和expires都没有设置
6.浏览器会去查看服务器上面ETag值,如果有浏览器会拿着 If-None-Match 去跟他对比
7.如果ETag与浏览器的 If-None-Match 相同,则走缓存
8.如果ETag与浏览器的 If-None-Match 不相同,浏览器会去查看服务器上面 Last-Modified值
9.如果服务器上有 Last-Modified值,浏览器会拿着If-Modified-Since去跟他对比
10.如果Last-Modified值与浏览器的 If-Modified-Since 相同,则走缓存
11.如果Last-Modified值与浏览器的 If-Modified-Since 不相同,重新去服务器读取数据

#含义
1.cache-control:缓存控制,记录的时文件保留时间
2.expires:缓存时间,记录的是文件的过期时间
3.ETag:服务器上保留的文件唯一标识符
4.If-None-Match:浏览器上保留的文件唯一标识符
5.Last-Modified:服务器上保留的文件最后修改时间
6.If-Modified-Since:浏览器上保留的文件最后修改时间

posted @ 2020-09-16 18:02  六月OvO  阅读(808)  评论(0编辑  收藏  举报