强缓存和协商缓存学习笔记

为什么要用缓存?

因为服务器上的资源不是一直固定不变的,大多数情况下它会更新,这个时候如果我们还访问本地缓存,那么对用户来说,那就相当于资源没有更新,用户看到的还是旧的资源;所以我们希望服务器上的资源更新了浏览器就请求新的资源,没有更新就使用本地的缓存,以最大程度的减少因网络请求而产生的资源浪费。


流程图

在这里插入图片描述

理解:如图所示,如果有缓存且没有过期那就直接从缓存中读取,返回状态码200(强缓存)。如果缓存没有已经过期了,那就判断是否有Etag,有的话那就发送请求到服务器比对是否一致,如果一致那就从缓存中读取,返回304;如果不一致就判断发送请求判断last-modified是否一致,一致就从缓存中读取信息,返回304;否则重新向服务器发送请求。如果没有Etag,那就直接比对last-modifined就可以了


expires,cache-control

两者都是表示缓存的过期时间,如果cache-control与expires同时存在的话,cache-control的优先级高于expires,那就取cache-control的值。cache-control取值是相对值:表示多久后过期。expires是绝对值:表示具体的过期时间,由于具体时间可能会受电脑系统时间影响所以有可能会出现错误。所以现在多用cache-control代替expires。


前端如何具体实现HTTP缓存

https://blog.csdn.net/weixin_30731305/article/details/97321137

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值