简单的 Python 服务器 - 如何防止在任一端发送 304?

问题描述 投票:0回答:1

我在windows上用python设置了一个本地简单的http服务器。

我使用 javascript 设置了一个 HTML 文件,该文件使用 setInterval() 每秒请求本地目录中的 JSON。 (然后用json内容更新网页。)

太好了,这有效。直到 15-60 秒后,浏览器才会根据终端中的服务器日志停止发出请求。响应 304 总是在中断之前。

如何避免这种情况并强制服务器始终每秒提供 json 文件?

对于这个尝试来说非常新,并且由于安全协议的原因,必须采取一些技巧来使浏览器甚至发出对本地 json 等的请求。部分原因是服务器是必要的,因为通过 file:/// 这是无法完成的。

我的想法是改变服务器中的某些内容,这样如果它想用 304 响应,它将给出 200。我希望如果它始终是 200,浏览器不会暂停请求。

我的另一个想法是确保 json 始终在变化,希望避免缓存它的想法。

python json http status
1个回答
0
投票

您的问题似乎与缓存有关。浏览器收到来自服务器的 304 响应,表明自上次请求以来内容尚未修改,因此它使用缓存的版本而不是发出新请求。

要强制浏览器始终从服务器获取 JSON 文件而不是使用缓存,可以尝试在服务器端禁用缓存。您可以修改 Python HTTP 服务器以包含阻止缓存的标头。您可以通过将 Cache-Control 和 Pragma 标头设置为 no-cache 来做到这一点。

© www.soinside.com 2019 - 2024. All rights reserved.