我有一些缓存问题。 我在运行一个非常小的Web应用程序,它读取一个帧,将其保存到磁盘上,然后在浏览器窗口中显示它。
我知道,这可能不是最好的解决方案,但每次我使用相同的名称保存此读取的帧时,任何浏览器都会缓存它。
我尝试使用HTML元标记-没有成功:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
此外,我还尝试了这个(特定于Flask):
resp.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
resp.headers["Pragma"] = "no-cache"
resp.headers["Expires"] = "0"
这是我尝试修改resp
头文件的方式:
r = make_response(render_template('video.html', video_info=video_info))
r.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
r.headers["Pragma"] = "no-cache"
r.headers["Expires"] = "0"
谷歌浏览器和Safari都会进行缓存。
这里可能存在什么问题?
r.headers["Cache-Control"]
。因此,实际上你的响应只会将Cache-Control
设置为'public, max-age=0'
。 - k-nutResponse
实例的底层cache_control
对象,并将no_cache
字段设置为True
(以及其他相关字段),而不是手动指定标题。请参见 https://dev59.com/f2Ag5IYBdhLWcg3w1t_y#23115561。 - Gino Mempinno-store
,而且最好仅在设置Cache-Control
时使用它:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control。也就是说,在服务器响应中使用`Cache-Control: no-store`来防止缓存。 - Nick Brady