http强缓存与协商缓存

前提知识

  • 浏览器加载资源时先看是否命中强缓存,若命中则不会发送http请求直接使用本地资源
  • 若未命中则发送http请求,看是否命中强缓存,若命中则不返回资源,使用本地资源,此时相应的状态码为304
  • 若未命中强缓存则返回资源,此时相应状态码为200

强缓存:

  • expire:GMT格式 (过期日期) http1.0

  • cache-control: http1.1
    — max-age=时间戳 (保质期)

    expire和cache-control同时存在时,cache-control优先级更高

协商缓存:

(1)http1.0

  • last-modified: GMT格式 在响应头中,只精确到秒
  • if-modified-since: GMT格式 在请求头中,(值和last-modified完全一样)

(2)http1.1

  • Etag : 一个唯一标志 在响应头中
  • if-none-match 一个唯一标志 在请求头中

(2)组能解决(1)解决不了的问题:

  1. 当服务器一些文件丢失后恢复,但文件完全没有修改,此时可以用缓存,但对于last-modified,最后修改时间已变,无法命中缓存;而Etag不会改变,可以命中缓存
  2. last-modified只能精确到秒,而etag文件一修改就会变化, 不会命中缓存,能得到最新数据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值