Кэширование браузера с BottlePy / GAE - PullRequest
2 голосов
/ 04 мая 2011

Я запускаю Google Page Speed ​​на своем веб-сайте, который находится в Python / Bottle на Google App Engine.

В нем говорится: «Следующие кэшируемые ресурсы имеют короткий срок действия свежести. Укажите срок действия в будущем как минимум на одну неделю для следующих ресурсов: '

, а затем переходит к списку большинства моих статических файлов (images, css, js) и говорит об указании кеша на срок более недели.

В моем файле app.yaml есть следующее: default_expiration: "21d 1h", которое, похоже, ничего не делает.

У кого-нибудь есть идеи, как я могу кэшировать файлы, о которых идет речь, или это проблема с использованием Bottle в AppEngine?

1 Ответ

3 голосов
/ 04 мая 2011

Если у вас есть это в вашем коде:

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

Вы можете добавить:

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

перед return для включения кэширования в браузере. Это также работает для динамически генерируемых страниц, если вы не используете куки или параметры GET.

Но если вы можете, вы должны позволить GAE обслуживать статические файлы напрямую.

...