2.2.2.2 GetContentInfo (Request and Response)

The purpose of the GetContentInfo request is to retrieve cache-control information from the server without incurring the overhead of a Describe request.

The GetContentInfo request is defined as an HTTP POST request that satisfies the ABNF syntax for WMS-GCInfo-Request and satisfies all of the following conditions:

The syntax of the GetContentInfo response is defined as WMS-GCInfo-Response with the additional constraint that the response cannot include a HTTP message body.

 WMS-GCInfo-Request  = WMS-GCI-Req-Line
                           WMS-GCIReq-Headers
                           CRLF
                           WMS-GCIReq-Body 
   
 WMS-GCI-Req-Line   = "POST" SP Request-URI SP HTTP-Version CRLF
  
 WMS-GCIReq-Headers      = *( GCIReq-Header-REQ
                           / GCIReq-Header-OPT
                           / GCIReq-Pragma
                           / HTTP-Header-Types )
  
 GCIReq-Header-REQ       = Content-Type       ; section 2.2.1.2
                           / User-Agent       ; section 2.2.1.8
  
 GCIReq-Header-OPT       = Cookie             ; section 2.2.1.3
                           / Supported        ; section 2.2.1.7
                           / X-Accept-Authentication ; section 2.2.1.9 
                           / X-Proxy-Client-Verb ; section 2.2.1.11
  
 GCIReq-Pragma           = "Pragma: " #GCIReq-Pragma-Types CRLF
  
 GCIReq-Pragma-Types     = GCIReq-Token-OPT
  
 GCIReq-Token-OPT        = client-id          ; section 2.2.1.4.5
                           / no-cache         ; section 2.2.1.4.12
                           / request-context  ; section 2.2.1.4.23
                           / xClientGuid      ; section 2.2.1.4.33
  
 WMS-GCIReq-Body         = CHAR
  
  
 WMS-GCInfo-Response = Status-Line
   WMS-GCIResp-Headers CRLF
   
 WMS-GCIResp-Headers    = *( GCIResp-Header-REQ
                           / GCIResp-Header-OPT
                           / GCIResp-Pragma
                           / HTTP-Header-Types )
  
 GCIResp-Header-REQ     = Cache-Control  ; section 2.2.1.1
                           / Server        ; section 2.2.1.5
  
 GCIResp-Header-OPT     = Set-Cookie      ; section 2.2.1.6
                           / Supported     ; section 2.2.1.7
  
 GCIResp-Pragma         = "Pragma: " #GCIResp-Pragma-Types CRLF
  
 GCIResp-Pragma-Types   = GCIResp-Token-REQ
                           / GCIResp-Token-OPT
  
 GCIResp-Token-REQ      = no-cache        ; section 2.2.1.4.12
  
 GCIResp-Token-OPT      = client-id       ; section 2.2.1.4.5
                           / timeout       ; section 2.2.1.4.29
  

The following example shows a GetContentInfo request:

 POST /Test2 HTTP/1.1
 User-Agent: WMCacheProxy/9.5.6001.1
 Via: HTTP/1.1 WMCacheProxy (WMCacheProxy/9.5.6001.1)
 Max-Forwards: 9
 Accept-Charset: UTF-8, *;q=0.1
 Pragma: xClientGUID={00000000-0000-0000-0000-000000000000}
 X-Accept-Authentication: Negotiate, NTLM, Digest
 Content-Type: application/x-wms-getcontentinfo
 Host: SampleServer
 Content-Length: 1
 Connection: Keep-Alive

The following example shows a GetContentInfo response:

 HTTP/1.1 200 OK
 Server: Cougar/9.5.6001.18000
 Date: Mon, 02 Nov 2009 07:38:49 GMT
 Pragma: no-cache, xResetStrm=1, timeout=60000
 Cache-Control: no-cache, max-age=86399, x-wms-stream-type="playlist", user-public, must-revalidate, proxy-public, proxy-revalidate
 Last-Modified: Mon, 02 Nov 2009 06:06:34 GMT
 Etag: "149"
 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache, com.microsoft.wm.startupprofile
 Content-Length: 0