浏览器缓存机制

浏览器通过缓存机制减少数据传输,提升访问速度。强缓存使用Expires和Cache-Control控制,不发请求直接使用本地资源。当强缓存失效,协商缓存通过ETag和Last-Modified判断资源是否更新,决定是否重新获取。
摘要由CSDN通过智能技术生成


概念

浏览器会将请求后的资源进行存贮离线资源,当下次需要该资源时,浏览器会根据缓存机制决定直接使用缓存资源还是再次向服务器发送请求。

作用

1.减少不必要数据的传输、降低服务器的压力

2.加快了客户端访问速度

3.增强用户体验

强缓存

不向服务端发送请求,强制使用缓存数据

实现方式

后端在响应头中返回 Expires Cache-Control

Expires :

http 协议 1.0 的字端

缓存过期时间,用来指定资源到期的时间,是服务器端的具体的时间点

浏览器:使用 expires 到期时间本地时间进行对比,如果本地时间被修改或者和服务器时间差距较大,造成不准确的问题

Cache-Control

Cache-Control 是 HTTP 1.1 的字段

约定过期时间的相对时间

 当 cache-control 和 expires 同时存在 cache-control 的优先级会比 expires 高

当强缓存失效后,会使用协商缓存

协商缓存

协商缓存由服务器决定是否使用缓存

  1. 向服务器发送请求资源并携带标识
    Etag 字段:表示请求资源在服务器的唯一标识,浏览器可以根据 ETag 值缓存数据,下次请求的时候以 If-None-Match 字段请求
    Last-Modified 字段:用于标记请求资源的最后一次修改时间
  2. 服务器会进行判断浏览器缓存的资源是否真的失效是否更新
    真的失效,服务端已经更新,返回 200,重新返回最新资源和缓存标识
    浏览器再次存入缓存
    后续再次从强缓存开始
  3. 缓存时间到了,但是资源没更新,就还使用本地
    直接返回 304

希望您能给我一个点赞,这是对我最大的鼓励

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值