美文网首页
浏览器缓存策略

浏览器缓存策略

作者: 前端开发工程师老唐 | 来源:发表于2018-12-25 11:34 被阅读0次

    在优化网站性能的时候,浏览器缓存是一个很重要的策略,他会去缓存一些很少更新的图片资源,js资源等。减少浏览器和服务器的资源传输。极大的优化了网站的呈现时间.主要有协商缓存和强制缓存两种方式。

    第一次请求服务器,浏览器无缓存,直接去服务器拿资源:


    image.png

    第二次请求服务器,判断是否过期,没有过期采用强缓存,过期采用协商缓存策略。
    过期的判断规则和服务器决策策略规则在图中有写出


    image.png

    网上有很多关于这方面的描述,我只是把图重新自己整理了下,梳理了思路

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

    Cache-Control

    Cache-Control是在http1.1中出现的,主要是利用该字段的max-age值来进行判断,它是一个相对时间,例如Cache-Control:max-age=3600,代表着资源的有效期是3600秒。cache-control除了该字段外,还有下面几个比较常用的设置值:

    • no-cache:不使用本地缓存。需要使用缓存协商,先与服务器确认返回的响应是否被更改,如果之前的响应中存在ETag,那么请求的时候会与服务端验证,如果资源未被更改,则可以避免重新下载。

    • no-store:直接禁止游览器缓存数据,每次用户请求该资源,都会向服务器发送一个请求,每次都会下载完整的资源。

    • public:可以被所有的用户缓存,包括终端用户和CDN等中间代理服务器。

    • private:只能被终端用户的浏览器缓存,不允许CDN等中继缓存服务器对其缓存。
      Cache-Control与Expires可以在服务端配置同时启用,同时启用的时候Cache-Control优先级高。

    相关文章

      网友评论

          本文标题:浏览器缓存策略

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