ネットワーク アプリケーションのキャッシュ管理Cache Management for Network Applications

このトピックと関連するサブトピックでは、WebClientWebRequestHttpWebRequest、および FtpWebRequest クラスを使用して取得したリソースのキャッシュ処理について説明します。This topic and its related subtopics describe caching for resources obtained using the WebClient, WebRequest, HttpWebRequest, and FtpWebRequest classes.

キャッシュは、アプリケーションから要求されたリソースの一時的な記憶域として機能します。A cache provides temporary storage of resources that have been requested by an application. アプリケーションから同じリソースを複数回要求される場合、キャッシュからリソースを返すことで、サーバーから再要求するオーバーヘッドを回避できます。If an application requests the same resource more than once, the resource can be returned from the cache, avoiding the overhead of re-requesting it from the server. キャッシュによって、要求されたリソースの取得にかかる時間が短縮されるので、アプリケーションのパフォーマンスを改善できます。Caching can improve application performance by reducing the time required to get a requested resource. また、サーバーへのトリップ回数が減るので、ネットワーク トラフィックを減らすこともできます。Caching can also decrease network traffic by reducing the number of trips to the server. キャッシュによってパフォーマンスは改善されますが、アプリケーションに古いリソースが返される危険性もあります。つまり、キャッシュを使用していなかった場合にサーバーから送信されたリソースと、キャッシュのリソースは同じではないということです。While caching improves performance, it increases the risk that the resource returned to the application is stale, meaning that it is not identical to the resource that would have been sent by the server if caching were not in use.

また、キャッシュによって、権限のないユーザーまたはプロセスが機密データを閲覧できる可能性があります。Caching may allow unauthorized users or processes to read sensitive data. キャッシュされている認証済みの応答が、追加の承認なしでキャッシュから取得される可能性があるからです。An authenticated response that is cached may be retrieved from the cache without an additional authorization. キャッシュを有効にする場合は、CachePolicyBypassCache または NoCacheNoStore に変更して、この要求のキャッシュを無効にしてください。If caching is enabled, change to CachePolicy to BypassCache or NoCacheNoStore to disable caching for this request.

セキュリティの懸念事項があるため、中間層のシナリオにキャッシュを使用することは推奨されませんDue to security concerns, caching is not recommended for middle tier scenarios.

このセクションの内容In This Section

キャッシュ ポリシーCache Policy
キャッシュ ポリシーの概要と定義方法について説明します。Explains what a cache policy is and how to define one.

場所ベースのキャッシュ ポリシーLocation-Based Cache Policies
ハイパーテキスト転送プロトコル (http と https) リソースに使用できる各種の場所ベースのキャッシュ ポリシーを定義します。Defines each type of location-based cache policy available for Hypertext Transfer Protocol (http and https) resources.

時間ベースのキャッシュ ポリシーTime-Based Cache Policies
時間ベースのキャッシュ ポリシーのカスタマイズに使用できる条件について説明します。Describes the criteria that can be used to customize a time-based cache policy.

ネットワーク アプリケーションでのキャッシュの構成Configuring Caching in Network Applications
キャッシュ ポリシーとキャッシュを使用する要求をプログラムで作成する方法について説明します。Describes how to programmatically create cache policies and requests that use caching.

参照Reference

System.Net.Cache
取得したリソースのキャッシュ ポリシーを WebRequestHttpWebRequest、および FtpWebRequest クラスを使用して定義するために使用する型および列挙体を定義します。Defines the types and enumerations used to define cache policies for resources obtained using the WebRequest, HttpWebRequest, and FtpWebRequest classes.