美文网首页
浏览器缓存

浏览器缓存

作者: 冷暖自知_zjz | 来源:发表于2020-01-13 17:53 被阅读0次

    参考文章链接  :

    前端优化:浏览器缓存技术介绍 - 掘金

    浅谈http中的Cache-Control_小小郭-CSDN博客

      强制缓存 (Expires和Cache-Control) 不会发请求到服务器

      Expires 返回的HTTP状态为200 是HTTP 1.0提出的一个表示资源过期时间的header,它描述的是一个绝对时间,由服务器返回

          1.浏览器第一次跟服务器请求一个资源,服务器在返回这个资源的同时,在response的header加上Expires的header

          2.浏览器在接收到这个资源后,会把这个资源连同所有response header一起缓存下来(所以缓存命中的请求返回的header并不是来自服务器,而是来自之前缓存的header)

          3.浏览器再请求这个资源时,先从缓存中寻找,找到这个资源后,拿出它的Expires跟当前的请求时间比较,如果请求时间在Expires指定的时间之前,就能命中缓存,否则就不行

           4.如果缓存没有命中,浏览器直接从服务器加载资源时,Expires Header在重新加载的时候会被更新Expires 返回的是一个绝对时间 存在客户端和服务器端时间不一致的情况

        Cache-Control 是HTTP 1.1的时候,提出了的一个新的header是一个相对时间,在配置缓存的时候,以秒为单位,用数值表示

        如:Cache-Control:max-age=315360000,  

         原理和Expires类似  如果同时存在 Expires和Cache-Control Cache-Control优先

         Cache-Control:public //允许所有服务器缓存该资源

         Cache-Control:private //表示该资源仅仅属于发出请求的最终用户,这将禁止中间服务器(如代理服务器)缓存此类资源

         Cache-Control:no-cache //不直接使用缓存,需要向服务器发送信息

         Cache-Control:no-store //所有内容不会被缓存或者保存在网络的临时文件中  优先级最高

         Cache-Control:only-if-cached  // 告诉代理服务器希望获取缓存的内容,不用向原服务器发送请求

                                                                      在请求中使用Cache-Control 时,它可选的值有:

                                                                       在请求中使用Cache-Control 时,它可选的值有:


     协商缓存 (Last-Modified&Etag) 会发请求到服务器,如果命中协商缓存 返回304

         【Last-Modified,If-Modified-Since】的控制缓存的原理

         1.服务器在返回这个资源的同时,在response的header加上Last-Modified的header,这个header表示这个资源在服务器上的最后修改时间

         2.浏览器再次跟服务器请求这个资源时,在request的header上加上If-Modified-Since的header,这个header的值就是上一次请求时返回的Last-Modified的值 

         3.服务器判断   If-Modified-Since的值是否一致 ,一致返回304,复用浏览器的信息 如果没有命中Last-Modified Header在重新加载的时候会被更新,

         Last-Modified 返回服务器最后修改时间 当资源跟新频率特别高的时候可能存在 资源修改了,最后修改时间没有改变,所有有了新的hander

         【ETag、If-None-Match】  ETag返回的是 一个字符串 只要内容修改了ETag一定会改变,这样就不会出现 Last-Modified的情况了,原理和Last-Modified基本一致  命中返回304 复用浏览器缓存

相关文章

  • 浏览器缓存(http缓存)

    浏览器缓存有两种:强制缓存和协商缓存 浏览器缓存机制 浏览器发送请求,会先从浏览器缓存中查找【请求结果】和【缓存标...

  • 缓存、cookie、token、session、localSto

    一、缓存分类 服务器端缓存(CDN缓存) 客户端缓存(浏览器缓存); 二、浏览器缓存 强缓存:浏览器在加载资源时,...

  • 协商缓存和强缓存

    浏览器缓存主要有两类:缓存协商和彻底缓存,也有称之为协商缓存和强缓存 浏览器缓存机制浏览器缓存(Brower Ca...

  • DSBD

    1.浏览器缓存 浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识 强制缓存优先于协商缓存进...

  • HTTP缓存机制

    web缓存分为:数据库缓存、服务器缓存(代理服务器、cdn缓存)、浏览器缓存浏览器缓存分为:http缓存、inde...

  • HTTP 缓存控制

    Web 缓存 数据库缓存、服务器端缓存(代理服务器缓存、CDN 缓存)、浏览器(HTTP)缓存 浏览器缓存(本地储...

  • Web浏览器的缓存机制

    原文转载【Web缓存机制系列】2 – Web浏览器的缓存机制 浏览器端的缓存规则 对于浏览器端的缓存来讲,这些规则...

  • 浏览器缓存?优点?清除方法?

    ☆前端优化:浏览器缓存技术介绍 - 简书 浏览器缓存(适用于前端解决缓存问题) - 简书 js清除浏览器缓存问题的...

  • 浏览器缓存

    浏览器缓存 浏览器处理网页的方式 走到协商缓存会返回 304 走到强缓存会返回 200 合理使用浏览器缓存 页面连...

  • 《白帽子讲web扫描》笔记

    2.9 DNS本地缓存 DNS本地缓存:一是浏览器缓存,二是系统缓存。在浏览器访问域名时优先访问浏览器缓存,一旦未...

网友评论

      本文标题:浏览器缓存

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