重温前端之http缓存

强制缓存(优先级较高)

开启时,当浏览器缓存中有内容时,客户端直接从浏览器缓存中取得数据

Expires(http1.0)

  • 到期时间,若再次请求时间小于返回的此时间,则直接使用缓存数据
  • 但由于服务端时间和客户端时间不一定一致,会导致误差,现在一般用 cache-control 代替

Cache-Control(优先级较高)

该值可以在请求中使用,也可以在响应中使用

请求

  • no-cache,不使用缓存,需要再发起请求
  • no-store,不保存到缓存
  • max-age,接受缓存时间不大于该秒的资源

响应

  • public,均需要进行缓存
  • private,指定的用户可以缓存
  • no-cache,不直接使用缓存,需要先去服务器做校验请求
  • no-store,不能使用缓存

协商缓存

从缓存数据中取到一个缓存标识,将该标识发送给服务端检验是否失效,若没失效,返回 304,直接使用缓存;否则重新请求数据

Last-Modified

服务器在响应请求时,会告诉浏览器资源的最后修改时间Last-Modified
浏览器再次请求时,会发送一个Last-Modified-since,其值为刚才接受的Last-Modified,服务器会进行比较,若比浏览器最后修改时间小,则返回新的资源和 200

Etag(优先级较高)

etag 是服务器响应请求时,返回当前资源文件的唯一标示(服务器生成)
浏览器请求时,需要把etag值写到if-none-match中,服务器再进行比较。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值