2009-07-27 1 views
6

私はスタンダードで見てきた - しかし、次について完全に確認されませんでした:マックス・年齢と304修正されない処理

我々が提供していますバリアント(リソース、画像、ページなど)をお持ちの場合max-age = 259200(3日間)のキャッシュ設定で、サーバーはETagsと最終更新日も処理しています。最大有効期限に達するとどうなりますか?ただし、リソースは変更されていません。

3日後にクライアントがリソースを再度要求し、変更されていない場合は304の変更されていない応答が返されます。キャッシュ制御応答(304応答中)にも最大有効期間= 259200が含まれている場合、クライアントは引き続きローカルキャッシュされたコピーを使用し、さらに3日間は要求しないことを望んでいます。

私が恐れているのは、最大限に達すると、クライアントはリソースをキャッシュしなくなり、リソースがロードされるたびに新しいリクエストを作成します。その後、304 Not Modifiedレスポンスが続きますリソースは変更されていません。つまり、3日間ローカルキャッシュを使用するのではなく、すべての使用に対してhttpリクエストを取得しています。

思考?

答えて

3

3日以上キャッシュします。 RFC 2616 10.3.5

キャッシュがキャッシュエントリを更新するために、受信した304応答を使用している場合、キャッシュ応答で与えられる任意の新しいフィールド値を反映するためにエントリを更新しなければなりません。

Details about age calculation

+0

ありがとうございます!それは私に仕様を少し詳しく見て、より大きなフォントサイズを使うよう教えてくれるでしょう:-)。 –