我使用Python创建了一个简单的GET请求脚本,以基于传入的自定义标头检查状态代码。本质上,我试图检查数据库中的最后修改时间是否大于或小于最后修改时间从响应返回的时间开始。
传递给GET的自定义标头参数为:
If-Modified-Since: Tue, 10 Jul 2018 10:54:28 GMT
在某些站点上,如果为true,则为200;如果为false,则为304。但是,在某些站点上,即使它是错误的,我仍然会得到200。我认为导致错误响应的原因可能是缓存了数据?我对HTTP请求有一定的了解,但还不足以理解为什么会发生这种情况,因此,如果有人可以提出建议,请多加澄清。
答案 0 :(得分:1)
服务器可以包含cache-control
headers in their responses,以禁止缓存其发送的数据。我想这可能是您得到200
而不是304
的原因。