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 POST request includes a Content-Type (section 2.2.1.2) header with the application/x-wms-getcontentinfo (section 2.2.1.2.4) context-type.
The POST request does not include a log-line (section 2.2.1.4.10) token on a Pragma Header.
The POST request does not include the pipeline-request (section 2.2.1.4.16) token on a Pragma Header.
The POST request does not include the stream-switch-entry (section 2.2.1.4.27) token on a Pragma Header.
The POST request does not include an xKeepAliveInPause (section 2.2.1.4.34) token on a Pragma Header.
The POST request does not include an xStopStrm (section 2.2.1.4.38) token on a Pragma Header.
The POST request includes a non-empty message body.
The POST request uses either the HTTP 1.0 protocol, as specified in [RFC1945], or the HTTP 1.1 protocol, as specified in [RFC2616].<50>
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