http缓存

http缓存分为以下两种(两者都是通过response header控制缓存)

1.强制缓存

2.协商缓存

强制缓存

设置过期时间,时间未过期就从客户端缓存获取资源,无需再向服务器发送请求

cache-control: max-age=31536000, public, immutable

属性备注
max-age=31536000有效期为31536000秒(1年)
public客户端和代理服务器都可以缓存该资源(刷新后发起http请求)
private只有客户端可缓存该资源(刷新后发起http请求)
immutable刷新后不发起http请求
no-cache每次请求需要校验服务器资源的新鲜度
no-store彻底禁用缓存

某天,设置的这31536000秒过期了,此时会去请求服务器,但是文件依旧是最新的,此时会走协商缓存

协商缓存(对比缓存)

每次发送请求会在request header带上上次response header中的etag和last-modified,服务端进行对比etag和last-modified,根据etag和last-modified来判断资源是否有被修改

请求服务器 > 服务器对比资源是否被修改 > 未修改 > 返回304状态码 > 客户端用缓存的老资源

请求服务器 > 服务器对比资源是否被修改 > 修 改 > 返回200状态码(第一次请求客户端会记下max-age,etag和last-modified缓存信息)

etag: '61bc02f0-747'
last-modified: Fri, 17 Dec 2021 03:24:32 GMT
key备注
etag更改文件时变化的唯一值
last-modified文件的修改时间精确到秒
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值