HttpCacheVaryByContentEncodings HttpCacheVaryByContentEncodings HttpCacheVaryByContentEncodings HttpCacheVaryByContentEncodings Class

정의

HttpCachePolicy 클래스의 VaryByContentEncodings 속성을 설정할 형식이 안전한 방법을 제공합니다.Provides a type-safe way to set the VaryByContentEncodings property of the HttpCachePolicy class.

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

예제

다음 예제에서는 출력 캐시에서 제공 될 수 있는 동적으로 압축 된 응답을 사용 하도록 설정 하는 방법을 보여 줍니다.The following example shows how to enable a dynamically compressed response that can be served from the output cache. "Gzip"는 허용 되는 인코딩 및 사용 하 여 설정 됩니다는 VaryByContentEncodings 지시문의 특성입니다.The encoding that is acceptable is "gzip" and is set by using the VaryByContentEncodings attribute of the directive. 페이지를 호스팅하는 웹 서버에 동적 압축을 사용 하는 경우 출력 캐시를 지정 된 콘텐츠 인코딩에 대 한 캐시 된 응답을 수 없습니다.If the Web server that hosts the page does not have dynamic compression enabled, the output cache will not have a cached response for the specified content encoding.

<%@ 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 속성은 동적으로 압축 된 응답 캐시 되는지 여부를 지정 하는 데 사용 됩니다.The VaryByContentEncodings property is used to specify whether dynamically compressed responses are cached. 동적으로 압축 된 응답 캐싱는 압축 비용이 시 발생 하는 한 번만 첫 번째 요청은 리소스에 대 한 (또는 응용 프로그램이 다시 시작 후) 및 캐시 항목 만료 될 때를 의미 합니다.Caching dynamically compressed responses means that the cost of compression is incurred only one time, during the first request for the resource (or after an application restart) and when the cache item expires.

합니다 VaryByContentEncodings 의 속성을 HttpCachePolicy ASP.NET 사용 하 여 리소스에 대 한 캐시 된 응답이 여러 개인 경우 응답의 변형을 고유 하 게 식별 하는 요청 헤더 매개 변수를 식별 하는 클래스입니다.The VaryByContentEncodings property of the HttpCachePolicy class identifies which request header parameters ASP.NET uses to uniquely identify a variation of the response if there are multiple cached responses for a resource. 응답 콘텐츠 인코딩, 헤더 및 매개 변수 등의 클라이언트 입력의 설정에 따라 다른 경우에 유용 합니다.This is useful when a response depends on a set of client inputs, such as headers, parameters, or content encodings.

HttpCacheVaryByContentEncodings 클래스는 직접적인 관련이 없는 HTTP cache-control 헤더입니다.The HttpCacheVaryByContentEncodings class is not directly related to HTTP cache-control headers. 그러나 클라이언트 또는 프록시에 대 한 응답에 지정 된 콘텐츠 인코딩에 따라는 있는지 확인 수 있습니다.However, it helps make sure that a response to a client or a proxy varies by the specified content encoding. 콘텐츠 인코딩에 따라 달라 지도록 캐시를 설정 하면 응답을 변경 하려면 ASP를 Accept-Encoding 헤더입니다.Setting the cache to vary by content encoding enables ASP.NET to vary the response by the Accept-Encoding header. 요청을 처리할 때의 Accept-Encoding 헤더를 검사 하 고는 첫 번째 허용 인코딩을 식별 하 고 다음 작업 중 하나를 수행 하는 데 사용 합니다.When a request is processed, the Accept-Encoding header is checked and the first acceptable encoding is identified and used to take one of the following actions:

  • 일치 하는 인코딩도에서 찾을 수는 VaryByContentEncodings 목록 및 캐시 된 응답이 있는 캐시 된 응답을 전송 됩니다.If a matching encoding is also found in the VaryByContentEncodings list and a cached response exists, the cached response is sent.

  • 일치 하는 인코딩도에서 찾을 수는 VaryByContentEncodings 목록이 아니라 캐시 된 응답이 없는 경우, 응답 생성 되 고 캐시에 삽입 합니다.If a matching encoding is also found in the VaryByContentEncodings list but a cached response does not exist, a response is generated and inserted into the cache.

  • 일치 하는 encoding에 없는 경우는 VaryByContentEncodings id 응답 라고도 인코딩되지 않은 응답을 검색 하는 목록에서 캐시 합니다.If a matching encoding is not found in the VaryByContentEncodings list, the cache is searched for a non-encoded response, also referred to as the identity response. Id 응답 발견 되 면 전송 됩니다.If the identity response is found, it is sent. 그렇지 않으면 새 인코딩되지 않은 응답을 생성 되 고 캐시에 저장 합니다.Otherwise a new non-encoded response is generated and stored in the cache.

에 대 한 자세한 내용은 VaryByContentEncodings 속성인 RFC 2616를 참조 하세요. Hypertext Transfer Protocol-HTTP/1.1에서 사용할 수는 World Wide Web Consortium (W3C) 웹 사이트합니다.For more information about the VaryByContentEncodings property, see RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1, available on the World Wide Web Consortium (W3C) Web site. 전체 세부 정보에 대 한 14, "헤더 필드 정의" 섹션을 참조 하세요.See section 14, "Header Field Definitions", for complete details.

설정할 수 있습니다는 VaryByContentEncodings 지시문을 사용 하거나 Web.config 파일의 요소에 프로필을 추가 하 여 속성입니다.You can set the VaryByContentEncodings property by using the directive or by adding a profile to the element in the Web.config file.

생성자

HttpCacheVaryByContentEncodings() HttpCacheVaryByContentEncodings() HttpCacheVaryByContentEncodings() HttpCacheVaryByContentEncodings()

HttpCacheVaryByContentEncodings 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the HttpCacheVaryByContentEncodings class.

속성

Item[String] Item[String] Item[String] Item[String]

캐시가 지정된 콘텐츠 인코딩에 따라 달라지는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the cache varies according to the specified content encoding.

메서드

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetContentEncodings() GetContentEncodings() GetContentEncodings() GetContentEncodings()

캐시를 변경하는 데 사용할 콘텐츠 인코딩을 지정하는 값 배열을 가져옵니다.Gets an array of values which specify the content encodings to be used for varying the cache.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
SetContentEncodings(String[]) SetContentEncodings(String[]) SetContentEncodings(String[]) SetContentEncodings(String[])

캐시를 변경하는 데 사용할 콘텐츠 인코딩을 지정하는 값 배열을 설정합니다.Sets an array of values which specify the content encodings to be used for varying the cache.

ToString() ToString() ToString() ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)

적용 대상

추가 정보