다음을 통해 공유


HttpCachePolicySettings 클래스

네트워크 리소스에 대한 기본 HTTP 캐시 정책을 나타냅니다.

구문

class HttpCachePolicySettings : EmbeddedObject  

메서드

이 클래스에는 메서드가 없습니다.

속성

다음 표에서는 클래스에 의해 노출되는 속성을 나열합니다 HttpCachePolicySettings .

Name 설명
MaximumAge 캐시에서 반환된 리소스에 허용되는 최대 기간을 지정하는 읽기/쓰기 datetime 값입니다. 기본값은 무한대입니다.

리소스의 캐시 된 복사본이 지정된 된 시간 값 보다 오래 된 경우 서버의 리소스가 캐시 된 리소스를 비교 하 여 리소스 유효성을 재검사 해야 합니다.
MaximumStale 콘텐츠 만료 후 리소스의 캐시된 복사본을 사용할 수 있는 시간을 지정하는 읽기/쓰기 datetime 값입니다. 기본값은 0입니다.
MinimumFresh 콘텐츠가 만료되기 전에 리소스의 캐시된 복사본을 사용할 수 있는 시간을 지정하는 읽기/쓰기 datetime 값입니다. 기본값은 0입니다.
PolicyLevel 로컬 컴퓨터에 대한 HTTP 캐싱 동작을 지정하는 읽기/쓰기 sint32 값입니다. 가능한 값은 설명 섹션의 뒷부분에 나와 있습니다.

를 서브클래싱합니다.

이 클래스에는 서브클래스가 없습니다.

설명

이 클래스의 인스턴스는 RequestCachingSection 클래스의 속성에 포함 DefaultHttpCachePolicy 됩니다.

다음 표에서는 속성에 사용할 수 있는 값을 나열합니다 PolicyLevel . 기본값은 0(Default)입니다.

키워드 설명
0 Default 캐시된 리소스 복사본을 사용하거나 서버로 리소스 요청을 보냄으로써 리소스 요청을 만족시킵니다. 현재 캐시 정책과 콘텐츠가 캐시에 보관된 기간에 따라 수행할 작업이 결정됩니다. 대부분의 애플리케이션에서 사용해야 하는 캐시 수준입니다.
1 BypassCache 서버를 사용하여 요청을 만족시킵니다. 클라이언트와 서버 사이의 캐시에서 어떤 항목도 가져가거나, 추가하거나, 제거하지 않습니다. 이는 .NET Framework 포함된 컴퓨터 구성 파일에 지정된 기본 캐시 동작입니다.
2 CacheOnly 로컬로 캐시된 리소스를 사용하여 요청을 충족합니다. 는 캐시에 없는 항목에 대한 요청을 보내지 않습니다. 이 캐시 정책 수준을 지정하면 항목이 클라이언트 캐시에 없는 경우 WebException 예외가 throw됩니다.
3 CacheIfAvailable 캐시에서 리소스를 사용할 수 있는 경우 캐시에서 리소스에 대한 요청을 충족합니다. 그렇지 않으면 는 리소스에 대한 요청을 서버로 보냅니다. 요청된 항목을 로컬 캐시에서 사용할 수 없지만 클라이언트와 서버 간의 캐시에서 사용할 수 있는 경우 중간 캐시는 요청을 충족합니다.
4 Revalidate 타임스탬프를 서버에 있는 리소스의 타임스탬프를 사용하는 경우 캐시된 리소스 복사본을 사용하여 요청을 충족합니다. 그렇지 않으면 리소스가 서버에서 다운로드되고, 호출자에게 표시되고, 캐시에 저장됩니다.
5 Reload 서버를 사용하여 요청을 만족시킵니다. 응답은 캐시 제어 지시문의 설정 및 HTTP 캐싱 프로토콜의 no-cache 헤더에 Pragma: no-cache 따라 캐시에 저장될 수 있습니다.
6 NoCacheNoStore 캐시의 리소스를 사용하여 요청을 충족하지 않으며 리소스를 캐시하지 않습니다. 리소스가 로컬 캐시에 있으면 제거됩니다. 이 정책 수준은 중간 캐시에서 리소스를 제거해야 함을 나타냅니다. HTTP 캐싱 프로토콜에서는 캐시 제어 지시문을 사용하여 이 작업을 no-cache 수행합니다.
7 CacheOrNextCacheOnly 로컬 컴퓨터의 캐시 또는 로컬 영역 네트워크의 원격 캐시에서 리소스에 대한 요청을 충족합니다. 요청을 만족시킬 수 없으면 WebException 예외가 throw됩니다. HTTP 캐싱 프로토콜에서는 캐시 제어 지시문을 사용하여 이 작업을 only-if-cached 수행합니다.
8 Refresh 서버나 로컬 캐시 이외의 캐시를 사용하여 요청을 만족시킵니다. 중간 캐시가 요청을 충족하려면 먼저 해당 캐시가 서버와 함께 캐시된 항목의 유효성을 다시 검사해야 합니다. HTTP 캐싱 프로토콜에서는 캐시 제어 지시문 및 Pragma:``no-cache 헤더를 max-age = 0 사용하여 이 작업을 수행합니다.

예제

다음 코드 예제에서는 http 캐싱 정책을 지정하고 , MaximumStaleMaximumAge 속성에 MinimumFresh대한 값을 설정합니다.

' Connect to the WMI WebAdministration namespace.  
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")  
  
' Get the RequestCachingSection.  
Set oSection = oWebAdmin.Get("RequestCachingSection.Path=" & _  
    "'MACHINE/WEBROOT/APPHOST',Location=''")  
  
' Display the class name of the section.  
WScript.Echo "[ " & oSection.Path_.Class & " ]"  
  
' Display the initial values for the DefaultHttpCachePolicy property.  
Call DisplayValues("Initial Values", oSection.DefaultHttpCachePolicy)  
  
' Set the http cache policy to use the default.  
oSection.DefaultHttpCachePolicy.PolicyLevel = 0  
  
' Set the MinimumFresh property to 30 minutes.  
oSection.DefaultHttpCachePolicy.MinimumFresh = "00000000003000.000000:000"  
  
' Set the MaximumStale property to 10 minutes.  
oSection.DefaultHttpCachePolicy.MaximumStale = "00000000001000.000000:000"  
  
' Set the MaximumAge property to 1 hour.  
oSection.DefaultHttpCachePolicy.MaximumAge =   "00000000010000.000000:000"  
  
' Save the values to configuration.  
oSection.Put_  
  
' Refresh the oSection object variable with the new values.  
oSection.Refresh_  
  
' Show the changed values.  
Call DisplayValues("New Values", oSection.DefaultHttpCachePolicy)  
  
' ==== DisplayValues helper function. ====  
Function DisplayValues(HeadingText, oObject)  
    WScript.Echo  
    WScript.Echo String(Len(HeadingText), "=")  
    WScript.Echo HeadingText  
    WScript.Echo String(Len(HeadingText), "=")  
  
    For Each Prop In oObject.Properties_  
        WScript.Echo Prop.Name & ": " & Prop.Value  
    Next  
End Function  
  

상속 계층 구조

EmbeddedObject

HttpCachePolicySettings

요구 사항

Type 설명
클라이언트 - Windows Vista의 IIS 7.0
- Windows 7의 IIS 7.5
- WINDOWS 8 IIS 8.0
- WINDOWS 10 IIS 10.0
서버 - Windows Server 2008의 IIS 7.0
- Windows Server 2008 R2의 IIS 7.5
- IIS 8.0 on Windows Server 2012
- WINDOWS SERVER 2012 R2의 IIS 8.5
- WINDOWS SERVER 2016 IIS 10.0
제품 - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
MOF 파일 WebAdministration.mof

참고 항목

EmbeddedObject 클래스
FtpCachePolicySettings 클래스
RequestCachingSection 클래스
CIM_DATETIME