HTTP中的缓存策略

本文详细介绍了浏览器的缓存策略,包括强缓存和协商缓存。强缓存利用Expries和Cache-Control字段控制缓存的有效期,而协商缓存则通过Last-Modified/If-Modified-Since和Etag/If-None-Match进行资源验证。当请求发送时,浏览器首先尝试使用强缓存,若不适用则采用协商缓存,通过服务器反馈来决定是否使用本地缓存。
摘要由CSDN通过智能技术生成

缓存策略是前端开发面试中常考的知识点之一,在项目开发时也会经常遇到

浏览器缓存策略

浏览器每次发起请求前,会先在本地缓存中查找缓存标识和结果,根据缓存标识的内容来确定是否需要使用本地缓存

缓存都是从第二次请求开始的,在第一次请求资源时,服务器返回资源的同时,在响应头中回传请求的资源的缓存策略;第二次请求时,通过缓存策略决定是否需要发送请求到服务器,若发送,服务器通过请求的缓存策略判断是否需要返回新数据。

强缓存

  • 服务器通知浏览器一个缓存时间,在缓存时间内的下次请求直接使用缓存,不在时间内则执行协商缓存策略
  • 若强缓存命中,直接读取浏览器本地资源,不发送请求,返回 200 (from xx) 状态码
  • 强缓存字段有 ExpiresCache-control
Expries
  1. HTTP/1.0 中的字段,一个绝对时间表示缓存的到期时间,用于告诉浏览器在过期时间之前不需要发送请求
  2. 用户可能将客户端本地时间修改,导致浏览器判断缓存错误。此外时差或其他误差也可能导致客户端时间与服务器端不一致,导致缓存失效
Cache-control
  1. HTTP/1.1 中的字段,一个相对时间表示自上次请求正确的资源后的最大有效时间,用于告诉浏览器在时间内不需要发送请求

  2. 优先级高于Expries

  3. Cache-Control 请求头常用值:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值