没有不值得去解决的问题,也没有不值得去学习的技术!

HTTP 请求一个静态的 txt 文件,第 1 次响应 304,第 2 次响应 200 的分析

HTTP 304 未改变说明无需再次传输请求的内容,也就是说可以使用缓存的内容。这通常是在一些安全的方法(safe),例如GET 或HEAD 或在请求中附带了头部信息: If-None-Match 或If-Modified-Since。第 1 次响应 304 的请求头中包含:if-modified-since: Thu, 27 May 2021 06:10:50 GMT。

1、HTTP 请求一个静态的 txt 文件,第 1 次响应 304,第 2 次响应 200。如图1

HTTP 请求一个静态的 txt 文件,第 1 次响应 304,第 2 次响应 200。
图1

2、参考网址:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/304 。HTTP 304 未改变说明无需再次传输请求的内容,也就是说可以使用缓存的内容。这通常是在一些安全的方法(safe),例如GET 或HEAD 或在请求中附带了头部信息: If-None-Match 或If-Modified-Since。第 1 次响应 304 的请求头中包含:if-modified-since: Thu, 27 May 2021 06:10:50 GMT。如图2

HTTP 304 未改变说明无需再次传输请求的内容,也就是说可以使用缓存的内容。这通常是在一些安全的方法(safe),例如GET 或HEAD 或在请求中附带了头部信息: If-None-Match 或If-Modified-Since。第 1 次响应 304 的请求头中包含:if-modified-since: Thu, 27 May 2021 06:10:50 GMT。
图2

3、参考网址:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/If-Modified-Since 。If-Modified-Since 是一个条件式请求首部,服务器只在所请求的资源在给定的日期时间之后对内容进行过修改的情况下才会将资源返回,状态码为 200 。如果请求的资源从那时起未经修改,那么返回一个不带有消息主体的 304 响应,而在 Last-Modified 首部中会带有上次修改时间。 不同于 If-Unmodified-Since, If-Modified-Since 只可以用在 GET 或 HEAD 请求中。

4、第 2 次响应 200 的请求头中未包含:if-modified-since: Thu, 27 May 2021 06:10:50 GMT。如图3

第 2 次响应 200 的请求头中未包含:if-modified-since: Thu, 27 May 2021 06:10:50 GMT。
图3

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系