페이지의 캐시 가능성 설정
업데이트: 2007년 11월
페이지 또는 사용자 정의 컨트롤의 캐시 가능성은 페이지의 응답 주기 동안 장치에서 페이지를 캐시할 수 있는지 여부를 나타냅니다. 페이지를 캐시할 수 있는 장치에는 요청하는 브라우저, 요청에 응답하는 웹 서버, 요청/응답 스트림의 기타 캐시 가능 장치(예: 프록시 서버) 등이 있습니다.
웹 서버에서 요청 브라우저에 응답을 보내는 경우 이 서버의 응답에는 페이지를 캐시할 수 있는 장치를 정의하는 HTTP 헤더 Cache-Control 필드가 포함됩니다. 응용 프로그램의 필요에 따라 개별 ASP.NET 페이지를 캐시할 장치와 캐시하지 않을 장치를 정의할 수 있습니다. 예를 들어 사용자 로그온 페이지의 캐시 가능성 설정과 카탈로그에서 선택한 제품을 표시하는 페이지의 캐시 가능성 설정을 다르게 구성할 수 있습니다. 로그온 페이지의 경우 보안상의 이유로 서버에서만 페이지를 캐시하지만 카탈로그 페이지는 모든 장치에서 캐시할 수 있습니다.
ASP.NET 페이지의 경우 HttpCacheability 열거형의 값을 사용하여 캐시 가능성을 설정할 수 있습니다. 이 열거형은 다음과 같은 값을 사용합니다. 처음 세 개의 값은 Cache-Control HTTP 헤더 설정에 직접 매핑되고 나머지 세 개의 값은 특수 값입니다.
NoCache 장치에서 웹 서버에 요청할 때마다 응답을 가져오도록 지정합니다.
Public 클라이언트 및 공유(프록시) 캐시에서 응답을 캐시할 수 있도록 합니다.
Private 공유(프록시 서버) 캐시는 제외하고 클라이언트에서만 응답을 캐시할 수 있도록 지정합니다.
Server 원본 서버에서만 응답이 캐시되도록 지정합니다.
ServerAndNoCache Server와 NoCache의 설정을 둘 다 적용하여 서버에서는 콘텐츠가 캐시되지만 다른 모든 장치는 응답을 캐시할 수 있는 기능이 명시적으로 거부됩니다.
ServerAndPrivate 원본 서버와 요청 클라이언트에서만 응답을 캐시하도록 지정합니다. 즉, 프록시 서버에서는 응답을 캐시할 수 없습니다.
@ OutputCache 지시문에 Location 특성을 포함하고 OutputCacheLocation 열거형 값 중 하나를 지정하여 페이지의 캐시 가능성을 선언적으로 설정할 수 있습니다. 또한 SetCacheability 메서드를 사용하여 페이지에 대한 HttpCacheability 값을 지정하면 페이지의 캐시 가능성을 프로그래밍 방식으로 설정할 수 있습니다. Response 클래스의 Cache 속성을 통해 이 메서드에 액세스할 수 있습니다.
참고: |
---|
@ OutputCache 지시문을 사용하여 페이지의 캐시 가능성을 설정하는 경우, Duration 특성을 선언하고 Location 특성과 함께 VaryByControl 또는 VaryByParam 특성을 선언해야 합니다. Duration 특성은 0보다 큰 값으로 설정해야 합니다. VaryByParam 또는 VaryByControl 매개 변수의 기능을 사용하지 않으려면 VaryByParam 특성을 "None"으로 설정하면 됩니다. 자세한 내용은 방법: ASP.NET 페이지 캐싱에 대한 만료 값 설정 및 여러 버전의 페이지 캐싱을 참조하십시오. |
@ OutputCache 지시문을 사용하여 페이지의 캐시 가능성을 설정하는 대신 응용 프로그램의 Web.config 파일에 캐시 프로필을 만든 다음 페이지에서 이 프로필을 참조할 수 있습니다. 자세한 내용은 ASP.NET의 캐시 구성을 참조하십시오.
참고 항목
작업
방법: 선언적으로 ASP.NET 페이지의 캐시 가능성 설정