http抓包实践--(三)--HTTP协议中的缓存

一,HTTP缓存的概念

是指当web请求抵达缓存时,如果本地有“已缓存”的副本,就可以从本地存储设备而不是从原始服务器中提取这个文档。

二,判断缓存新鲜度的方法

image-20210913224315742

1,If-Modified-Since

当检查缓存没有过期的时候,就只返回状态码304,然后客户端直接使用缓存。

image-20210913224358075

当检查缓存已经过期了,则需要返回完整的数据文件了(网络传递文件比传递一个304状态码需要更长时间),也就是说,使用缓存,实际上省下来的就是这个传递文件的时间。

image-20210913224824476

具体的表现在fiddler中就如下图所示:

image-20210913225031020

2,使用ETag

使用if-modified-since还存在一些缺点:

1,某些服务器文件不能精确得到最后修改时间,且if-modified-since只能精确到秒,频繁修改的文件无法识别。
2,有些文件的最后修改时间虽然变化了,但是内容实际上没有变更,我们仍旧是希望能够使用缓存的。

于是引入了Etag,它是entity Tag(实体标签)的简称,是根据实体内容来生成的一段hash字符串,可以标识资源的状态,当资源发生改变的时候,ETag也会随之发生改变。

当一个请求的header中if-none-match和服务器资源的eTag一致时,则返回304状态码,使用缓存文件。

image-20210913230430166

三,与缓存有关的header

请求中:

1

响应中:

2

四,不使用缓存,直接使用服务器资源

请求头中增加这个即可:

Cache-Control:no-cacle

在浏览器中,还可以直接ctrl+f5快捷键强制刷新浏览器,且不使用缓存。

image-20210913234101683

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值