关于浏览器的缓存机制

2、减少网络带宽;

3、降低服务器的压力

4、…

但是也可能会出现很多的问题,必须要注意使用。

http的请求头和相应头

先了解一下http报文的请求头,响应头

通用首部字段文

  • Cache-Control控制缓存行为

  • Prama值为"no-cache"时禁用缓存

请求首部字段

  • If-Match比较ETag是否一致

  • If-None-Match比较ETag是否不一致

  • If-Modified-Since比较资源最后更新时间是否一致

  • If-Unmodifined-Since比较资源最后更新时间是否一致

响应首部总段

  • ETag资源的匹配信息

实体首部字段

  • Expires实体主体过期时间

  • Last-Modified资源的最后一次修改时间

缓存的分类
强缓存:通过响应头来实现,使得浏览器每次发出的请求资源都是来自服务器而不是用缓存。
  • Expires(http1.0的产物)资源过期的时间,由服务器返回,受限于本地时间,如果本地时间修改那么可能会造成缓存失败,绝对时间。

  • Cache-Control(http1.1)相对时间。

  • no-cache可以缓存到本地,必须浏览器和服务器再验证,在验证之前是不可用的;
  • no-store禁止缓存到本地;
  • public可以被所有用户共享,包括代理服务器等;
  • private只能被终端浏览器缓存。

Cache-Control的优先级会高于Expires

  • 应用场景
  1. 频繁变动的资源

  2. 缓存适用的是对数据一致性要求比较高的项目,比如金钱或者重要数据。

协商缓存:当请求没有命中强缓存,那么久会发送一个请求到服务器,由服务器来确定该资源是否可用。
  • Last-Modified资源的最后一次修改时间,当浏览器发送请求的时候就会发送一个请求头 If-Modified-Since(上次服务器响应头中Last-Modified的值),询问服务器该日期后资源是否有更新,有的话就会发送新的资源。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
友可以戳我获取!!**](https://bbs.youkuaiyun.com/topics/618191877)

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值