2011-05-03 76 views
2

我在我的網站上運行Google Page Speed,它在Google App Engine上處於Python/Bottle狀態。使用BottlePy/GAE瀏覽器緩存

這就是說:'以下可緩存資源的新鮮度壽命短。爲以下資源指定未來至少一週的過期時間:'

然後繼續列出我的大部分靜態文件(圖像,css,js),並說要指定超過一週的緩存。

在我的app.yaml文件中,我有這個:default_expiration:「21d 1h」,它似乎沒有做任何事情。

有沒有人有任何想法如何緩存它所談論的文件,或者這是在AppEngine上使用Bottle的問題?

+1

是的,這是爲靜態處理程序設置默認到期的正確方法。也許它所抱怨的資源是由動態處理程序服務的。發佈你的完整app.yaml和它抱怨的一些路徑。 – 2011-05-03 20:23:07

回答

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直接提供靜態文件。

+1

這工作就像一個魅力,謝謝! – Hortonew 2011-05-04 13:05:25