美文网首页
web 缓存之浏览器缓存

web 缓存之浏览器缓存

作者: good__day | 来源:发表于2019-01-19 14:12 被阅读0次

    一、都有哪几种缓存

    web缓存分为很多种,比如数据库缓存、代理服务器缓存、CDN缓存,以及浏览器缓存。

    二、浏览器缓存

    几种不同缓存的使用

    1、资源加载的顺序

    先查找内存缓存、然后查找硬盘缓存、然后发起网络请求加载资源,并依据响应头进行缓存工作

    2、status code 的区别

    200 memory :  不访问服务器,关闭浏览器后资源被释放 ,强缓存

    200 disk:不访问服务器,关闭浏览器后资源依然存在,强缓存

    304 not modify: 访问服务器,发现数据没有更新,服务器返回此状态码。然后从缓存中读取数据。协商缓存

    200 : 返回资源 size 从服务器端下载最新资源

    3、memory 和 disk 的使用场景

    一般 js 常使用 memory,而 css 常使用 disk。因为,如果把脚本存在磁盘中,在执行时会把该脚本从磁盘中提取到缓存中来,这样的IO开销比较大,有可能会导致浏览器失去响应。

    三、浏览器缓存的使用原理

    1、meta 标签

    <meta HTTP-EQUIV="Pragma" CONTENT="no-cache" />

    有浏览器不兼容,所以大部分是使用响应头的

    2、http response header 

    优先级如下:

    a、ETag/If-None-Match + Cache-Control

    b、Last-Modified/If-Modified-Since + Cache-Control

    a、Expires   Cache-Control选择更多,设置也更细致,且使用了相对时间,所以比 http 1.0 中的 Expires 优先级更高

    cache-control 流程

    参考: https://segmentfault.com/a/1190000008547416

                http://www.cnblogs.com/lyzg/p/5125934.html

    相关文章

      网友评论

          本文标题:web 缓存之浏览器缓存

          本文链接:https://www.haomeiwen.com/subject/noendqtx.html