언어

HttpCacheVaryByContentEncodings 클래스

정의

클래스의 VaryByContentEncodings 속성을 설정하는 HttpCachePolicy 형식 안전 방법을 제공합니다.

public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
상속
HttpCacheVaryByContentEncodings

예제

다음 예제에서는 출력 캐시에서 제공할 수 있는 동적으로 압축된 응답을 사용하도록 설정하는 방법을 보여 줍니다. 허용되는 인코딩은 "gzip"이며 지시문의 VaryByContentEncodings 특성을 사용하여 @ OutputCache 설정됩니다. 페이지를 호스트하는 웹 서버에서 동적 압축을 사용하도록 설정하지 않은 경우 출력 캐시에 지정된 콘텐츠 인코딩에 대한 캐시된 응답이 없습니다.

<%@ Page Language="C#" %>
<%@ OutputCache VaryByParam="none" Duration="10" VaryByContentEncodings="gzip" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Varying Output Cache By Content Encoding</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <%= DateTime.Now.ToString() %>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ OutputCache VaryByParam="none" Duration="10" VaryByContentEncodings="gzip" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Varying Output Cache By Content Encoding</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <%= DateTime.Now.ToString() %>
    </div>
    </form>
</body>
</html>

설명

이 VaryByContentEncodings 속성은 동적으로 압축된 응답이 캐시되는지 여부를 지정하는 데 사용됩니다. 동적으로 압축된 응답을 캐싱하면 리소스에 대한 첫 번째 요청(또는 애플리케이션 다시 시작 후)과 캐시 항목이 만료되는 동안 한 번만 압축 비용이 발생합니다.

클래스의 속성은 VaryByContentEncodings 리소스에 HttpCachePolicy 대해 여러 개의 캐시된 응답이 있는 경우 ASP.NET 응답의 변형을 고유하게 식별하는 데 사용하는 요청 헤더 매개 변수를 식별합니다. 응답이 헤더, 매개 변수 또는 콘텐츠 인코딩과 같은 클라이언트 입력 집합에 따라 달라지는 경우에 유용합니다.

이 HttpCacheVaryByContentEncodings 클래스는 HTTP 캐시 제어 헤더와 직접 관련이 없습니다. 그러나 클라이언트 또는 프록시에 대한 응답이 지정된 콘텐츠 인코딩에 따라 달라지는지 확인하는 데 도움이 됩니다. 캐시를 콘텐츠 인코딩에 따라 다르게 설정하면 ASP.NET 헤더별로 Accept-Encoding 응답을 변경할 수 있습니다. 요청이 처리되면 헤더가 Accept-Encoding 선택되고 첫 번째 허용 인코딩이 식별되고 다음 작업 중 하나를 수행하는 데 사용됩니다.

  • 일치하는 인코딩도 VaryByContentEncodings 목록에 있고 캐시된 응답이 있는 경우 캐시된 응답이 전송됩니다.

  • 일치하는 인코딩도 VaryByContentEncodings 목록에 있지만 캐시된 응답이 없으면 응답이 생성되어 캐시에 삽입됩니다.

  • 목록에서 일치하는 인코딩을 찾을 VaryByContentEncodings 수 없는 경우 캐시는 ID 응답이라고도 하는 인코딩되지 않은 응답을 검색합니다. ID 응답이 발견되면 전송됩니다. 그렇지 않으면 인코딩되지 않은 새 응답이 생성되어 캐시에 저장됩니다.

속성에 대한 VaryByContentEncodings 자세한 내용은 W3C(World Wide Web 컨소시엄) 웹 사이트에서 사용할 수 있는 RFC 2616: 하이퍼텍스트 전송 프로토콜 -- HTTP/1.1을 참조하세요. 자세한 내용은 섹션 14, "헤더 필드 정의"를 참조하세요.

지시문을 사용 VaryByContentEncodings 하거나 Web.config 파일의 요소에 @ OutputCache 프로필을 추가하여 속성을 설정할 outputCacheProfile 수 있습니다.

생성자

속성 Description
HttpCacheVaryByContentEncodings()

HttpCacheVaryByContentEncodings 클래스의 새 인스턴스를 초기화합니다.

속성

속성 Description
Item[String]

지정된 콘텐츠 인코딩에 따라 캐시가 달라지는지 여부를 나타내는 값을 가져오거나 설정합니다.

메서드

속성 Description
Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetContentEncodings()

캐시를 다양하게 하는 데 사용할 콘텐츠 인코딩을 지정하는 값 배열을 가져옵니다.

GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
SetContentEncodings(String[])

캐시를 다양하게 하는 데 사용할 콘텐츠 인코딩을 지정하는 값 배열을 설정합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

참고 항목