CacheControl

CacheControl 속성을 사용하여 response.Syntax에 있는 HTTP/1.1 Cache-Control 헤더를 설정할 수 있습니다.

Response.CacheControl [= Cache Control Header ]

매개 변수

Cache Control Header

다음은 HTTP/1.1 프로토콜에서 지원되는 값의 일부 목록입니다. 더 자세한 설명은 섹션 14.9, World Wide Web Consortium 웹 사이트에서 Hypertext Transfer Protocol -- HTTP/1.1 지정을 참조하십시오.

값 설명
Private 캐시 메커니즘을 통해 개인 캐시에서 현재 페이지를 캐시하고 오직 한 클라이언트에 이 페이지를 다시 보냅니다. 이것은 기본값입니다. 대부분의 프록시 서버는 이렇게 설정된 페이지를 캐시하지 않습니다.
Public 프록시 서버 같은 공유 캐시는 이렇게 설정된 페이지를 캐시합니다. 캐시된 페이지는 다른 모든 사용자에게 보낼 수 있습니다.
No-cache 동일한 클라이언트에서 사용되더라도 페이지를 절대 캐시하지 않습니다.
No-store 이 값을 가진 응답과 요청은 개별 캐시이건 공유 캐시이건, 어떤 캐시에도 저장되지 않습니다. 여기에서 말하는 저장소는 테이프 백업과 같은 비휘발성입니다. 이것이 절대적으로 완벽한 보안 조치는 아닙니다.

참고

웹 서버와 해당 페이지를 요청하는 사용자 사이에, 응답 시간을 단축시키기 위해 웹 페이지를 캐시하도록 구성된 프록시 서버가 있습니다. 일반적으로 ASP 페이지는 각 사용자마다 고유하게 작성되거나 보안 정보를 포함합니다. 따라서 IIS는 이 속성을 "Private"으로 설정하여 프록시 서버나 다른 캐시 메커니즘이 페이지를 캐시하지 못하도록 합니다. 이 속성을 HTTP/1.1 프로토콜에서 지원하는 모든 값으로 설정하면 World Wide Web Consortium 웹 사이트의 Hypertext Transfer Protocol -- HTTP/1.1 지정에서 언급된 해당 기본값을 무시할 수 있습니다.

사용자 웹 서버와 클라이언트 컴퓨터 사이에 캐시 메커니즘이 없는 경우 또는 프록시 서버에서 HTTP/1.0을 실행하는 경우 CacheControl은 무시됩니다.

CacheControl을 "public"으로 설정하면 .asp 파일의 성능이 향상되는 것처럼 보이지만, 이렇게 설정하면 개별 요청에 대해 사용자 지정 HTML을 생성하는 경우 방해를 받게 되고 프록시 서버는 응답과 충돌합니다.

CacheControl의 값은 문자열이고 따옴표(" ")로 묶어야 합니다. 응답 버퍼링이 설정되어 있지 않은 경우 클라이언트에 응답을 보내기 전에 CacheControl을 설정해야 합니다.

예제

<HTML> 태그 앞에 CacheControl을 두어 클라이언트에게 컨텐트를 보내기 전에 CacheControl이 설정되어 있는지 확인합니다.

--- CacheControl_NoBuffer.asp ---

<%
  Response.Buffer = False
  Response.CacheControl = "private"
%>
<HTML><HEAD><TITLE>Response.CacheControl Example</TITLE></HEAD>
<BODY>
Output from this page is sent to the client as it is being processed.<BR>
It will not be cached.<BR>
Today is <%= Date %>, <%= Time %><BR>
<H3>Please enter your credit card number:</H3>
<FORM NAME="Order" METHOD="POST" ACTION="order.asp ">
<INPUT TYPE="TEXT" NAME="CreditCard">
<INPUT TYPE="SUBMIT" VALUE="Submit" NAME="Submit">
</FORM>
</BODY>
</HTML>

--- CacheControl_Buffer.asp ---

<% Response.Buffer = True %>
<HTML><HEAD><TITLE>Response.CacheControl Example</TITLE></HEAD>
<BODY>
Output from this page is sent to the client once it is completely processed by the server, so we can set CacheControl anytime.<BR>
<% Response.CacheControl = "private" %>
It will not be cached.<BR>
Today is <%= Date %>, <%= Time %><BR>
<H3>Please enter your credit card number:</H3>
<FORM NAME="Order" METHOD="POST" ACTION="order.asp ">
<INPUT TYPE="TEXT" NAME="CreditCard">
<INPUT TYPE="SUBMIT" VALUE="Submit" NAME="Submit">
</FORM>
</BODY>

</HTML>

  

적용

Response 개체


© 1997-2001 Microsoft Corporation. All rights reserved.