YouTube には、GAE アーキテクチャにおける EdgeCaching の強みを示すこの新しいビデオがあり、ビデオのこの特定の時点で、活用がいかに簡単かを示しています: http://www.youtube.com/watch?v=QJp6hmASstQ #t=11m12
残念ながら、それは簡単ではありません...
Google が提供する webapp2 フレームワークを使用してエッジ キャッシングを有効にしようとしています。
私は電話しています:
self.response.pragma = 'Public'
self.response.cache_expires(300)
しかし、それは何か他のものによって上書きされているようです。
私が得るヘッダーは次のとおりです。
HTTP/1.1 200 OK
Pragma: Public
Cache-Control: max-age=300, no-cache
Expires: Sat, 23 Feb 2013 19:15:11 GMT
Content-Type: application/json; charset=utf-8
Content-Encoding: gzip
X-AppEngine-Estimated-CPM-US-Dollars: $0.000085
X-AppEngine-Resource-Usage: ms=39 cpu_ms=64
Date: Sat, 23 Feb 2013 19:10:11 GMT
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, must-revalidate
Vary: Accept-Encoding
Server: Google Frontend
Content-Length: 600
私はndbトップレベルを使用しています:
app = ndb.toplevel(webapp2.WSGIApplication(...
ここで説明されているテクニックを試しましたが、webapp2 には適用されないようです: http://code.google.com/p/googleappengine/issues/detail?id=2258#c14
この投稿も見ました: https://groups.google.com/d/topic/webapp2/NmHXoZZSVvo/discussion
すべてを手動で設定しようとしましたが、成功しませんでした。何かがキャッシュ設定を上書きしています。
webapp2 で動作させる方法はありますか? 他のオプションは大歓迎です。
編集:バージョン プレフィックス: http://version.appname.appspot.comの URL を使用しています。これがおそらく問題の原因です。