当前位置:网站首页 > DevOps实践 > 正文

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

到此这篇http抓包实践--(三)--HTTP协议中的缓存的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

  • 上一篇: http抓包实践--(五)-常用的操作
  • 下一篇: 没有了
  • 版权声明


    相关文章:

  • http抓包实践--(五)-常用的操作2024-11-30 23:27:06
  • 《第一行代码》 第四章:碎片的最佳实践2024-11-30 23:27:06
  • 白酒:蒸馏技术的原理与实践2024-11-30 23:27:06
  • 科普:黑客盗QQ究竟是怎么回事?2024-11-30 23:27:06
  • 解决方案的DevOps实践与最佳实践_解决方案solution2024-11-30 23:27:06
  • 2023-第⑥期DevOps实践训练营_devops实践指南 pdf2024-11-30 23:27:06
  • 《Devops实践指南》学习总结(全干货)_devops 实践2024-11-30 23:27:06
  • DevOps实践2024-11-30 23:27:06
  • 云原生的DevOps实践:提高软件开发效率2024-11-30 23:27:06
  • DevOps实践教程 华为云 系列教程2021 合集2024-11-30 23:27:06
  • 全屏图片