キャッシュ ポリシーは、要求されたリソースのキャッシュされたコピーを使用して要求を満たすことができるかどうかを判断するために使用される規則を定義します。 アプリケーションでは、更新のクライアント キャッシュ要件を指定しますが、有効なキャッシュ ポリシーは、クライアント キャッシュの要件、サーバーのコンテンツの有効期限の要件、およびサーバーの再有効化の要件によって決まります。 クライアント キャッシュ ポリシーとサーバー要件の相互作用により、常に最も保守的なキャッシュ ポリシーが得られ、最新のコンテンツがクライアント アプリケーションに確実に返されるようにします。
キャッシュ ポリシーは、場所ベースまたは時間ベースです。 場所ベースのキャッシュ ポリシーは、要求されたリソースの取得元に基づいて、キャッシュされたエントリの鮮度を定義します。 時間ベースのキャッシュ ポリシーは、リソースが取得された時刻、リソースで返されたヘッダー、および現在の時刻を使用して、キャッシュされたエントリの鮮度を定義します。 ほとんどのアプリケーションでは、 インターネット エンジニアリング タスク フォース (IETF) Web サイトで入手できる、RFC 2616 で指定されたキャッシュ ポリシーを実装する既定の時間ベースのキャッシュ ポリシーを使用できます。
次の表で説明するクラスは、キャッシュ ポリシーを指定するために使用されます。
クラス名 | 説明 |
---|---|
HttpRequestCachePolicy | HttpWebRequest オブジェクトを使用して要求されたリソースの場所ベースおよび時間ベースのキャッシュ ポリシーを表します。 |
RequestCachePolicy | Default オブジェクトを使用して要求されたリソースの場所ベースのキャッシュ ポリシーまたはWebRequest時間ベースのキャッシュ ポリシーを表します。 |
HttpCacheAgeControl | 時間ベースの HttpRequestCachePolicy オブジェクトの作成に使用する値を指定します。 |
HttpRequestCacheLevel | 場所ベースおよび時間ベースの HttpRequestCachePolicy オブジェクトの作成に使用する値を指定します。 |
RequestCacheLevel | 位置ベースまたは Default 時間ベースの RequestCachePolicy オブジェクトの作成に使用する値を指定します。 |
キャッシュ ポリシーは、アプリケーションによって行われたすべての要求または個々の要求に対して定義できます。 アプリケーション レベルのキャッシュ ポリシーと要求レベルのキャッシュ ポリシーの両方を指定すると、要求レベルのポリシーが使用されます。 アプリケーション レベルのキャッシュ ポリシーは、プログラムで指定することも、アプリケーションまたはコンピューターの構成ファイルを使用して指定することもできます。 詳細については、「 <requestCaching> 要素 (ネットワーク設定)」を参照してください。
キャッシュ ポリシーを作成するには、 RequestCachePolicy クラスまたは HttpRequestCachePolicy クラスのインスタンスを作成してポリシー オブジェクトを作成する必要があります。 要求のポリシーを指定するには、要求の CachePolicy プロパティをポリシー オブジェクトに設定します。 アプリケーション レベルのポリシーをプログラムで設定する場合は、 DefaultCachePolicy プロパティをポリシー オブジェクトに設定します。
キャッシュ ポリシーの作成と使用を示すコード例については、「 ネットワーク アプリケーションでのキャッシュの構成」を参照してください。
こちらも参照ください
.NET