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

时间:2011-05-03 20:16:33

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

我在我的网站上运行Google Page Speed,这是在Google App Engine上使用Python / Bottle。

它说:'以下可缓存资源的生命周期很短。为以下资源指定将来至少一周的到期时间:'

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

在我的app.yaml文件中,我有:default_expiration:“21d 1h”,似乎没有做任何事情。

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

1 个答案:

答案 0 :(得分:3)

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

@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直接提供静态文件。