キャッシュ ポリシーの相互作用 — 最大有効期間と最大期限延長
最新のコンテンツをクライアント アプリケーションに確実に返すために、クライアントのキャッシュ ポリシーとサーバーの再検証要件の相互作用によって、常に最も保守的なキャッシュ ポリシーが適用されます。 このトピックの例はいずれも、1 月 1 日にキャッシュされ、1 月 4 日に期限切れになるリソースのキャッシュ ポリシーを示しています。
以下の例では、最大期限延長値 (maxStale
) と最大有効期間 (maxAge
) を組み合わせて使用しています。
キャッシュ ポリシーで
maxAge
= 5 日間が設定され、maxStale
値が指定されていない場合は、maxAge
値に従い、コンテンツは 1 月 6 日まで使用できます。 ただし、サーバーの再検証要件に従い、コンテンツは 1 月 4 日に期限切れになります。 コンテンツの有効期限の方が保守的 (早い) ので、maxAge
ポリシーよりも優先されます。 そのため、コンテンツは 1 月 4 日に期限切れになり、最大有効期間に達していないとしても、必ず再検証されます。キャッシュ ポリシーで
maxAge
= 5 日間とmaxStale
= 3 日間が設定されている場合、maxAge
値に従い、コンテンツは 1 月 6 日まで使用できます。maxStale
値に従い、コンテンツは 1 月 7 日まで使用できます。 そのため、コンテンツは 1 月 6 日に再検証されます。キャッシュ ポリシーで
maxAge
= 5 日間とmaxStale
= 1 日間が設定されている場合、maxAge
値に従い、コンテンツは 1 月 6 日まで使用できます。maxStale
値に従い、コンテンツは 1 月 5 日まで使用できます。 そのため、コンテンツは 1 月 5 日に再検証されます。
最大有効期間がコンテンツの有効期限よりも短い場合、より保守的なキャッシュ動作が常に優先され、最大期限延長値の影響はありません。 以下の例は、コンテンツの期限切れ前に最大有効期間 (maxAge
) に達したときの最大期限延長 (maxStale
) 値の影響を示しています。
キャッシュ ポリシーで
maxAge
= 1 日間に設定され、maxStale
値が指定されていない場合、期限切れ前でも、コンテンツは 1 月 2 日に再検証されます。キャッシュ ポリシーで
maxAge
= 1 日、maxStale
= 3 日間が設定されている場合、より保守的なポリシー設定を適用するために、コンテンツは 1 月 2 日に再検証されます。キャッシュ ポリシーで
maxAge
= 1 日、maxStale
= 1 日が設定されている場合、コンテンツは 1 月 2 日に再検証されます。
関連項目
.NET