我正在我的网站上运行 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/