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