2011-02-20 6 views
1

私は次のことを試してみましたが、私のブラウザ(クローム)がキャッシュされていません。Appengine Blobstore - レスポンスをキャッシュする方法?

Calendar future = Calendar.getInstance(); 
    future.add(Calendar.YEAR, +1); 
    rsp.setDateHeader("Expires", future.getTimeInMillis()); 
    rsp.setHeader("Cache-control", "max-age=30"); 
    blobstore_service.serve(blob_key, http_servlet_response); 

レスポンスヘッダ:

Cache-Control:max-age=30 
Content-Length:92036 
Content-Type:image/jpeg; name="foo.jpg" 
Date:Sun, 20 Feb 2011 08:09:20 GMT 
Expires:Mon, 20 Feb 2012 08:09:20 GMT 
Server:Google Frontend 

感謝を!

+1

ファイルはキャッシュに表示されますか?ロケーションとして 'about:cache'と入力すると、キャッシュされたすべてのファイルが表示されます。そこにある個々のファイルをクリックすることで、どのメタデータが保存されているかを知ることができます。たぶんそれはあなたにヒントを与えます。 – meyertee

+0

問題をデバッグするために使用するツールを提案してくれてありがとうございます。ページは実際にキャッシュされていました。私は、ChromeでURLを貼り付けて再度アクセスするとキャッシュからフェッチすると仮定しただけで間違っていました。それはしません。キャッシュは、別のページのリンクを使用してURLにアクセスする場合、またはイメージをページに埋め込んでページをリフレッシュする場合にのみ使用されます。その後、イメージはキャッシュからフェッチされます。 – necromancer

答えて

3

実際にページがキャッシュされていました。私は、ChromeでURLを貼り付けることで再度アクセスするとキャッシュからフェッチすると仮定しただけで間違っていました。それはしません。キャッシュは、別のページのリンクを介してURLにアクセスした場合にのみ使用され、イメージの場合は別のページに埋め込まれている場合にのみ使用されます。

関連する問題