我無法通過HTTPS提供appengine blobstore,特別是IE 8 & IE 7瀏覽器,因爲瀏覽器只是不喜歡通過https提供可下載的內容。 根據微軟的文章,這是因爲Cache-Control:no-cache頭。webapp2如何刪除緩存控制:從響應頭無緩存?
在文章中提出的解決方案是去除緩存控制:從響應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
我找到了答案:http://stackoverflow.com/questions/7680530/ gae-blobstore-issue-download-failed-in-internet-explorer-8 – voscausa