浏览器缓存机制

1. 按缓存位置区分:

  • service worker :浏览器背后的独立线程,可以用来实现缓存。service worker 中涉及请求拦截,所以必须使用https协议来保障安全。service worker 的缓存与浏览器其他内建机制不一样,可以自由控制缓存文件,何如匹配,如何读取文件,缓存是持续性的;
  • Memory Cache : 内存缓存。高效,不持续,容量小;随着Tab页的关闭,缓存自动释放;其中preloader相关指令可以一边解析js/css文件一边网络请求下一个资源;小文件大概率存在内存中;
  • Disk Cache:硬盘缓存。没有Memory Cache高效,但容量大,存储时效长;缓存内容由Http Header中字段判断;大文件大概率存储在硬盘中。
  • Push Cache:推送缓存,只存在于会话(session)阶段,会话结束,缓存自动释放,缓存时间短;缓存优先级最低。

 2. 缓存策略:通过设置Http Header实现

  • 强缓存:设置过期时间实现;在过期时间内,客户端再次请求时,缓存则返回缓存中数据,超过过期时间,则再次向服务器发起请求。
  • 协商缓存:强缓存失效后,发起请求,由服务器判断请求内容是否有更新,没有更新,则返回304状态码,告知客户端可以使用缓存的数据,若数据已经更新,服务器返回新数据。

3. 用户行为:页面操作

  • 输入网址:查找Disk Cache中是否有匹配,没有则发起请求;
  • F5刷新:因Tab页为关闭,优先在Memory Cache中匹配,然后再在Disk Cahce中,没有再发起请求;
  • ctrl+F5强制刷新:不使用缓存,请求头步带有no-cache
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值