python - 使用 BottlePy/GAE 进行浏览器缓存

标签 python google-app-engine browser-cache bottle

我正在我的网站上运行 Google Page Speed,该网站采用 Google App Engine 上的 Python/Bottle 格式。

它的意思是:“以下可缓存资源的新鲜度生命周期很短。指定以下资源至少在未来一周后到期:'

然后继续列出我的大部分静态文件(图像、css、js),并说要指定缓存一周以上。

在我的 app.yaml 文件中,我有以下内容:default_expiration: "21d 1h"似乎没有执行任何操作。

有人对如何缓存它所讨论的文件有任何想法吗?或者这是在 AppEngine 上使用 Bottle 的问题吗?

最佳答案

如果您的代码中有此内容:

@bottle.route('/static/:filename#.*#')
def static(filename):
    return bottle.static_file(filename, root='./static/')

您可以添加:

response.headers['Cache-Control'] = 'public, max-age=SECONDS'

return前面以启用浏览器中的缓存。只要您不使用 cookie 或 GET 参数,这也适用于动态生成的页面。

但是如果可以的话,您应该让 GAE 直接提供静态文件。

关于python - 使用 BottlePy/GAE 进行浏览器缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5875171/

相关文章:

python - 为什么我使用 exec() 会得到 "NameError: name is not defined"?

python - pySpark Reduce抛出Py4JJavaError

python - 在 Google Cloud Datastore 与 Google Cloud Bigtable 中存储用户事件历史记录

python - AppEngine/Python 和开发 AppServer 上的 Google KMS

nginx - 如何在Nginx上配置ETag

jquery - 处理 jQuery ajax 中未修改的 304 的正确方法

java - 需要使用浏览器缓存检查用户是否登录 | Selenium java

python - 如何在每行的开头添加字符串?

c++ - 将 Python 翻译成 C++ : lists and tuples

python - 如何在 Google Cloud Shell 上安装库 python-docx/docx?