네트워크 애플리케이션에 대한 캐시 관리

이 항목 및 관련 하위 항목에서는 WebClient, WebRequest, HttpWebRequestFtpWebRequest 클래스를 사용하여 얻은 리소스에 대한 캐싱을 설명합니다.

캐시는 애플리케이션에서 요청된 리소스의 임시 스토리지를 제공합니다. 애플리케이션이 동일한 리소스를 두 번 이상 요청하는 경우 캐시에서 리소스를 반환하여 서버에서 다시 요청하는 오버헤드를 방지할 수 있습니다. 캐싱은 요청된 리소스를 가져오는 데 필요한 시간을 줄여 애플리케이션 성능을 향상시킬 수 있습니다. 또한 캐싱은 서버로의 트립 수를 줄여 네트워크 트래픽을 줄일 수 있습니다. 캐싱은 성능을 개선하지만 애플리케이션에 반환되는 리소스가 부실할 위험, 즉 캐싱을 사용하지 않을 경우 서버에서 전송될 리소스와 동일하지 않을 위험이 증가합니다.

캐싱으로 인해 권한 없는 사용자 또는 프로세스가 중요한 데이터를 읽을 수도 있습니다. 캐시된 인증된 응답을 추가 인증 없이 캐시에서 검색할 수 있습니다. 캐싱을 사용하는 경우 CachePolicyBypassCache 또는 NoCacheNoStore로 변경하여 이 요청에 대해 캐싱을 사용하지 않도록 설정합니다.

보안 문제로 인해 중간 계층 시나리오에는 캐싱이 권장되지 않습니다.

섹션 내용

캐시 정책
캐시 정책이란 무엇이고 어떻게 정의하는지를 설명합니다.

위치 기반 캐시 정책
Hypertext Transfer Protocol(http 및 https) 리소스에 사용 가능한 각 위치 기반 캐시 정책 형식을 정의합니다.

시간 기반 캐시 정책
시간 기반 캐시 정책을 사용자 지정하는 데 사용할 수 있는 조건을 설명합니다.

네트워크 애플리케이션에서 캐싱 구성
프로그래밍 방식으로 캐시 정책 및 캐싱을 사용하는 요청을 만드는 방법을 설명합니다.

참조

System.Net.Cache
WebRequest, HttpWebRequestFtpWebRequest 클래스를 사용하여 얻은 리소스에 대한 캐시 정책을 정의하는 데 사용되는 형식과 열거형을 정의합니다.