다음을 통해 공유


HttpCacheVaryByContentEncodings 클래스

정의

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

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

예제

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

<%@ 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 Consortium) 웹 사이트에서 사용할 수 있는 RFC 2616: 하이퍼텍스트 전송 프로토콜 -- HTTP/1.1을 참조하세요. 자세한 내용은 섹션 14, "헤더 필드 정의"를 참조하세요.

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

생성자

HttpCacheVaryByContentEncodings()

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

속성

Item[String]

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

메서드

Equals(Object)

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

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

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

GetHashCode()

기본 해시 함수로 작동합니다.

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

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

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

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

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

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

ToString()

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

(다음에서 상속됨 Object)

적용 대상

추가 정보