HttpCachePolicy.VaryByContentEncodings 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
출력 캐시를 변경하는 데 사용할 Content-Encoding
헤더 목록을 가져옵니다.
public:
property System::Web::HttpCacheVaryByContentEncodings ^ VaryByContentEncodings { System::Web::HttpCacheVaryByContentEncodings ^ get(); };
public System.Web.HttpCacheVaryByContentEncodings VaryByContentEncodings { get; }
member this.VaryByContentEncodings : System.Web.HttpCacheVaryByContentEncodings
Public ReadOnly Property VaryByContentEncodings As HttpCacheVaryByContentEncodings
속성 값
캐시된 응답을 선택하는 데 사용하는 Content-Encoding
헤더를 지정하는 개체입니다.
예제
다음 예제에서는 출력 캐시에서 제공되는 페이지에 대해 동적으로 압축된 응답을 사용하도록 설정하는 방법을 보여 줍니다. 허용되는 인코딩은 "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 출력 캐시에 따라 달라지도록 압축 체계를 나타내는 Content-Encoding 헤더 목록을 반환합니다. 동적으로 압축된 응답을 캐싱한다는 것은 리소스에 대한 첫 번째 요청 중에 압축 비용이 한 번만 발생한다는 것을 의미합니다.
VaryByContentEncodings 속성은 동적으로 압축되는 다양한 콘텐츠 인코딩에 대해 캐시된 응답을 제공하는 방법을 결정하기 위해 요청의 헤더와 함께 Accept-Encoding
사용됩니다. Accept-Encoding 헤더에는 클라이언트가 압축을 풀 수 있는 인코딩이 나열됩니다.
캐시를 콘텐츠 인코딩에 따라 다르게 설정하면 헤더의 값 Accept-Encoding
에 따라 응답이 간접적으로 달라질 수 있습니다. 요청이 처리되면 헤더가 Accept-Encoding
선택되고 허용 가능한 첫 번째 인코딩이 식별되고 다음 작업 중 하나를 수행하는 데 사용됩니다.
일치하는 인코딩이 VaryByContentEncodings 목록에 있고 캐시된 응답이 있는 경우 캐시된 응답이 전송됩니다.
일치하는 인코딩이 VaryByContentEncodings 목록에 있지만 캐시된 응답이 없는 경우 응답이 생성되어 캐시에 삽입됩니다.
목록에서 일치하는 인코딩을 찾을 수 VaryByContentEncodings 없는 경우 캐시는 ID 응답이라고도 하는 인코딩되지 않은 응답을 검색합니다. 인코딩되지 않은 응답이 발견되면 전송됩니다. 그렇지 않으면 인코딩되지 않은 새 응답이 생성, 전송 및 캐시에 저장됩니다.
속성에 대한 VaryByContentEncodings 자세한 내용은 W3C(World Wide Web Consortium) 웹 사이트에서 사용할 수 있는 "RFC 2616: 하이퍼텍스트 전송 프로토콜 -- HTTP/1.1"을 참조하세요. 콘텐츠 인코딩에 대한 정보는 "헤더 필드 정의" 섹션 14에 있습니다.
@OutputCache 지시문의 특성을 사용하여 VaryByContentEncodings
속성을 설정할 VaryByContentEncodings 수 있습니다. Web.config 파일의 outputCacheProfile 요소에 캐시 프로필을 추가할 수도 있습니다.
VaryByContentEncodings .NET Framework 버전 3.5에서에서 도입 되었습니다. 자세한 내용은 버전 및 종속성을 참조하세요.
적용 대상
추가 정보
.NET