最新のコンテンツがクライアント アプリケーションに確実に返されるようにするために、クライアント キャッシュ ポリシーとサーバーの再検証要件の相互作用によって、常に最も保守的なキャッシュ ポリシーが得られます。 このトピックのすべての例は、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 日に再検証されます。
最大有効期間がコンテンツの有効期限よりも短い場合、より保守的なキャッシュ動作が常に優先され、最大制約値は影響しません。 次の例は、コンテンツの有効期限が切れる前に最大有効期間 (maxStale
) に達したときに、最大制約 (maxAge
) 値を設定する効果を示しています。
キャッシュ ポリシーが
maxAge
= 1 日に設定され、maxStale
値の値を指定しない場合、コンテンツは有効期限が切れていないにもかかわらず、1 月 2 日に再検証されます。キャッシュ ポリシーが
maxAge
= 1 日、maxStale
= 3 日に設定されている場合、コンテンツは 1 月 2 日に再検証され、より保守的なポリシー設定が適用されます。キャッシュ ポリシーで
maxAge
= 1 日、maxStale
= 1 日に設定されている場合、コンテンツは 1 月 2 日に再検証されます。
こちらも参照ください
.NET