gpt4 book ai didi

python - 如何防止缓存响应( flask 服务器,使用 chrome)

转载 作者:太空狗 更新时间:2023-10-30 00:29:02 25 4
gpt4 key购买 nike

编辑:想通了,按 F12,单击网络,选中“禁用缓存”。

我有一个基本的 Flask 服务器,我用它来学习 d3。问题是 chrome 为我提供了一个我正在使用的缓存 javascript 文件,example.js。

请求方式:GET状态码:200 OK(来自内存缓存)

服务器本身正在发送一个非缓存的响应,我可以通过直接查看响应来看到这一点:

/static/example.js

我在 application.py 中添加了它以防止缓存。

@app.after_request
def add_header(r):
"""
Add headers to both force latest IE rendering engine or Chrome Frame,
and also to cache the rendered page for 10 minutes.
"""
r.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
r.headers["Pragma"] = "no-cache"
r.headers["Expires"] = "0"
r.headers['Cache-Control'] = 'public, max-age=0'
return r

这是完整的代码

import os
import re
from flask import Flask, jsonify, render_template, request, url_for
from flask_jsglue import JSGlue

from flask import send_file

# configure application
app = Flask(__name__)
JSGlue(app)

# prevent cached responses
@app.after_request
def add_header(r):
"""
Add headers to both force latest IE rendering engine or Chrome Frame,
and also to cache the rendered page for 10 minutes.
"""
r.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
r.headers["Pragma"] = "no-cache"
r.headers["Expires"] = "0"
r.headers['Cache-Control'] = 'public, max-age=0'
return r

@app.route("/<string:filename>")
def main(filename):
"""Render file."""
return render_template(filename)

@app.route("/favicon.ico")
def favicon():
filename = 'images/fav.png'
return send_file(filename, mimetype='image/png')

感谢阅读。

最佳答案

要防止来自浏览器的缓存响应:- 按 F12 或右键单击 > 检查- 单击网络选项卡- 选中“禁用缓存”。

要防止来自服务器的缓存响应:将以下定义添加到 application.py:

# prevent cached responses
if app.config["DEBUG"]:
@app.after_request
def after_request(response):
response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate, public, max-age=0"
response.headers["Expires"] = 0
response.headers["Pragma"] = "no-cache"
return response

关于python - 如何防止缓存响应( flask 服务器,使用 chrome),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47376744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com