zoukankan      html  css  js  c++  java
  • 前端浏览器缓存策略

    简单记录一下浏览器缓存策略的理解:

    1,按浏览器缓存位置来看分为四种:从上到下优先级依次降低

      1) Service Worker:Service Worker 是运行在浏览器背后的独立线程,一般可以用来实现缓存功能。

      这是优先级最高的缓存,并且与其它三种不同,是可定制化的缓存,而其它三种只能通过某些字段的设置来规定内存的时效性和方式等,

      会在内存中(不确定是不是浏览器内存)开辟一个独立的空间去做缓存,可以手动清空或超出浏览器自动清空,

      Service Worker 是由开发者编写的额外的脚本,且缓存位置独立

      2)memory cache: 内存缓存

      内存缓存,会缓存页面的所有资源,

      生命周期与tab页相同,除了有限的字段如no-store 之外几乎不可控,

      会在同一个页面资源过大时自动清除最旧资源,

      浏览器为了加快读取缓存速度而进行的自身的优化行为,不受开发者控制,也不受 HTTP 协议头的约束,算是一个黑盒。

      3)disk cache: 硬盘缓存

      是我们内存管理的主要力量,

      可以通过响应头字段的设置来确定缓存方式及过期时间等,相应字段可以查看资料,

      包括强制缓存、协商缓存两种,一般来说强缓存失效后会使用协商缓存,即强制缓存会优先于协商缓存,

      协商缓存失效一般会做网络请求。

      4)push cache: 推送缓存

      是http2.0的内容,优先级在网罗请求之前

    2,参考资料:比总结要更重要一些

      一文读懂前端缓存: https://juejin.im/post/5c22ee806fb9a049fb43b2c5?utm_source=gold_browser_extension#heading-1

      深入理解浏览器的缓存机制: https://www.jianshu.com/p/54cc04190252

      

  • 相关阅读:
    python每日作业4/21
    socket实现并发之socketserver模块的使用
    python socket粘包问题的解决
    每日作业:4/20
    网络编程基础(socket)
    网络基础之网络协议
    异常处理
    python 作业4/15
    centos7简单安装配置mariadb
    Centos7下Firewalld防火墙配置命令
  • 原文地址:https://www.cnblogs.com/wangtong111/p/12375518.html
Copyright © 2011-2022 走看看