from disk cache 与 from memory cache

2018/06/29 12:02
阅读数 80

<div id="cnblogs_post_body" class="blogpost-body"><h2>webkit资源的分类</h2> <p>webkit的资源分类主要分为两大类:主资源和派生资</p> <div> <div> <h2>http状态码</h2> <p><strong>200 from memory cache</strong></p> <p>不访问服务器,直接读缓存,从内存中读取缓存。此时的数据时缓存到内存中的,当kill进程后,也就是浏览器关闭以后,数据将不存在。</p> <p>但是这种方式只能缓存派生资源</p> <p><strong>200 from disk cache</strong></p> <p>不访问服务器,直接读缓存,从磁盘中读取缓存,当kill进程时,数据还是存在。</p> <p>这种方式也只能缓存派生资源</p> </div> <p>304 Not Modified</p> <p>访问服务器,发现数据没有</p> <p>更新,服务器返回此状态码。然后从缓存中读取数据。</p> <p>&nbsp;</p> <h2>三级缓存原理</h2> <p>1. 先去内存看,如果有,直接加载</p> <p>2. 如果内存没有,择取硬盘获取,如果有直接加载</p> <p>3. 如果硬盘也没有,那么就进行网络请求</p> <p>4. 加载到的资源缓存到硬盘和内存</p> <p>所以我们可以来解释这个现象</p> <div> <div> <h2>http header</h2> <p><strong>max-age</strong></p> <p>web中的文件被用户访问(请求)后的存活时间,是个相对的值,相对Request_time(请求时间)</p> <p><strong>Expires</strong></p> <p>Expires指定的时间根据服务器配置可能有两种:</p> <p>1. 文件最后访问时间</p> <p>2. 文件绝对修改时间</p> <p>如果max-age和Expires同时存在,则被Cache-Control的max-age覆盖</p> <p><strong>last-modified</strong></p> <p>WEB 服务器认为对象的最后修改时间,比如文件的最后修改时间,动态页面的最后产生时间</p> <p><strong>ETag</strong></p> <p>对象(比如URL)的标志值,就一个对象而言,文件被修改,Etag也会修改</p> <p><strong>Cache-Control</strong></p> <p>简单理解,强缓存</p> </div> <h2>最后结论</h2> <p><img src="https://images2017.cnblogs.com/blog/580705/201712/580705-20171223225445271-471561818.jpg" alt=""></p> <p>&nbsp;</p> <br><br><br></div> </div> </div>

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部