特に IE 8 および IE 7 ブラウザーを使用している場合、HTTPS 経由で appengine ブロブストアを提供するのに問題があります。ブラウザーは https 経由でダウンロード可能なコンテンツを提供することを好まないからです。Microsoft の記事によると、これはCache-Control: no-cacheヘッダーが原因です。
この記事で提案されている解決策は、応答から Cache-Control: no-cache ヘッダーを削除することです。しかし、webapp2は、別の設定を試みた後でも、このヘッダーを自動的に追加するようです。
ソース コードによると、すべての応答に追加されるようです http://code.google.com/p/webapp-improved/source/browse/webapp2.py#362
def __init__(self, *args, **kwargs):
"""Constructs a response with the default settings."""
super(Response, self).__init__(*args, **kwargs)
self.headers['Cache-Control'] = 'no-cache'
この動作を無効にする方法はありますか?
これは、応答を作成するときにやろうとしたことですが、応答がレンダリングされると、「Cache-Control: no-cache」がまだ存在します。
self.response.headers['Pragma'] = 'cache-control'
self.response.headers['Cache-Control'] = 'private'
self.response.cache_control.no_cache = None
self.response.cache_control.public = False
self.response.cache_control.max_age = 1