【发布时间】:2021-06-11 18:02:33
【问题描述】:
是否有任何解决方案可以使用 HTML/JS/etc 禁用 Web 缓存?这将解决桌面和移动浏览器中的问题?
【问题讨论】:
-
嗨,DarkHouse,“完全重新加载”是什么意思?
-
我的意思是“硬重新加载”(shift + refresh(cmd + R))。
【问题讨论】:
Flask 中文件的默认最长期限为 12 小时,为了在应用程序范围内强制执行无缓存策略,您可以在 app.py 中插入此行:
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
这将是您最终结果的一个示例:
from flask import Flask
app = Flask(__name__)
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
@app.route('/')
def hello():
return "Hello World!"
if __name__ == '__main__':
app.run()
另外,要在单个路由中禁用缓存,请在发送响应本身之前配置响应标头:
resp.headers["Pragma"] = "no-cache"
resp.headers["Cache-Control"] = "max-age=0, no-cache, no-store, must-revalidate, public"
resp.headers["Expires"] = '0'
当然,这两种解决方案都不适用于生产服务器,但在开发过程中可能会对您有所帮助。
【讨论】: