HTTP缓存过程详解

HTTP缓存过程详解

HTTP文件缓存是基于HTTP协议的浏览器端文件缓存机制。
在文件重复请求的情况下,浏览器可以根据HTTP响应的协议头信息判断是从服务器端请求文件还是从本地读取文件。
Chrome控制台Application下的Frames就可以查看浏览器的HTTP文件缓存列表内容。

首先我们需要了解HTTP缓存的两种方式。

  • Expires:在HTTP1.1版本之前,浏览器缓存主要是通过对HTTP 1.0 的Expires头部控制来实现的,Expires只能根据绝对时间来刷新缓存内容。
  • Cache-Control:HTTP 1.1增加了Cache-Control头域,可以支持max-age用来表示相对过期时间

另外请求服务器时也可以根据EtagLast-Modified来判断是否从浏览器端缓存中加载文件,此时缓存的控制和判断将决定服务器的响应报文中头部内容的状态码200还是304。

浏览器发起请求,头部域字段的判断过程

  1. 浏览器会先查询Cache-Control (这里用Expires判断也是可以的,如果两者都设置了,则只有Cache-Control的设置生效)来判断内容是否过期,如果未过期,则直接读取浏览器端缓存文件,不发送HTTP请求,否则进入下一步。
  2. 在浏览器端
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值