次の方法で共有


キャッシュ ポリシーの相互作用 - 最長有効期間と最大制約

最新のコンテンツがクライアント アプリケーションに確実に返されるようにするために、クライアント キャッシュ ポリシーとサーバーの再検証要件の相互作用によって、常に最も保守的なキャッシュ ポリシーが得られます。 このトピックのすべての例は、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 日に再検証されます。

こちらも参照ください