キャッシュ ポリシー

キャッシュ ポリシーには、要求されたリソースのキャッシュ コピーを使用して要求を満たすことができるかどうかを決定するルールを定義します。 アプリケーションは、更新のクライアント キャッシュ要件を指定しますが、実質的なキャッシュ ポリシーは、クライアントのキャッシュ要件、サーバーのコンテンツ有効期限要件、およびサーバーの再検証要件によって決まります。 最新のコンテンツをクライアント アプリケーションに確実に返すために、クライアントのキャッシュ ポリシーとサーバーの要件の相互作用によって、常に最も保守的なキャッシュ ポリシーが適用されます。

キャッシュ ポリシーは、場所ベースまたは時間ベースです。 場所ベースのキャッシュ ポリシーでは、要求されたリソースを取得できる場所に基づいて、キャッシュされたエントリの鮮度を定義します。 時間ベースのキャッシュ ポリシーは、リソースの取得時間、リソースと共に返されたヘッダー、現在時刻を利用し、キャッシュされているエントリの更新の確認間隔を定義します。 ほとんどのアプリケーションでは、既定の時間ベースのキャッシュ ポリシーを使用できます。時間ベースのキャッシュ ポリシーは、RFC 2616 (インターネット技術標準化委員会 (IETF) Web サイトで入手可能) に規定されているキャッシュ ポリシーを実装しています。

次の表で説明されているクラスを使用して、キャッシュ ポリシーを指定します。

クラス名 説明
HttpRequestCachePolicy HttpWebRequest オブジェクトを使用して要求されたリソースの場所ベースと時間ベースのキャッシュ ポリシーを表します。
RequestCachePolicy WebRequest オブジェクトを使用して要求されたリソースの場所ベースのキャッシュ ポリシーまたは Default 時間ベースのキャッシュ ポリシーを表します。
HttpCacheAgeControl 時間ベースの HttpRequestCachePolicy オブジェクトの作成に使用される値を指定します。
HttpRequestCacheLevel 場所ベースと時間ベースの HttpRequestCachePolicy オブジェクトの作成に使用される値を指定します。
RequestCacheLevel 場所ベースまたは Default 時間ベースの RequestCachePolicy オブジェクトの作成に使用される値を指定します。

アプリケーションから発行されるすべての要求、または個々の要求に対してキャッシュ ポリシーを定義できます。 アプリケーションレベルのキャッシュ ポリシーと要求レベルのキャッシュ ポリシーの両方を指定すると、要求レベルのポリシーが使用されます。 アプリケーションレベルのキャッシュ ポリシーを指定するには、プログラム、またはアプリケーションやコンピューターの構成ファイルを使用します。 詳細については、「<requestCaching> 要素 (ネットワーク設定)」を参照してください。

キャッシュ ポリシーを作成するには、RequestCachePolicy クラスまたは HttpRequestCachePolicy クラスのインスタンスを作成して、ポリシー オブジェクトを作成する必要があります。 要求でポリシーを指定するには、要求の CachePolicy プロパティをポリシー オブジェクトに設定します。 アプリケーションレベルのポリシーをプログラムで設定する場合は、DefaultCachePolicy プロパティをポリシー オブジェクトに設定します。

キャッシュ ポリシーを作成し、利用する方法を示すコード例については、「ネットワーク アプリケーションでのキャッシュの構成」(ネットワーク アプリケーションでのキャッシュの構成) を参照してください。

関連項目