2.2.2.1 Describe (Request and Response)

The purpose of the Describe request is to ask the server to send information about the content that is identified by the URL included in the request. A URL MUST be formed according to rules specified in [RFC1738].

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

The syntax of the Describe response is defined as a WMS-Describe-Response with the additional constraint that the response can never use Chunked Transfer Coding, even if HTTP 1.1 is used.

 WMS-Describe-Request    = WMS-Describe-Req-Line
   WMS-DescReq-Headers CRLF 
   
 WMS-Describe-Req-Line   = "GET" SP Request-URI SP HTTP-Version CRLF
  
 WMS-DescReq-Headers     = *( DescReq-Header-REQ
                           / DescReq-Header-OPT
                           / DescReq-Pragma
                           / HTTP-Header-Types )
  
 DescReq-Header-REQ      = User-Agent                 ; section 2.2.1.8
  
 DescReq-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
  
 DescReq-Pragma          = "Pragma: " #DescReq-Pragma-Types CRLF
  
 DescReq-Pragma-Types    = DescReq-Token-REQ
                           / DescReq-Token-OPT
                           / DescReq-Token-OPT11
  
 DescReq-Token-REQ       = no-cache                   ; section 2.2.1.4.12
  
 DescReq-Token-OPT       = / client-id                ; section 2.2.1.4.5
                           / packet-pair-experiment   ; section 2.2.1.4.14
                           / proxy-client-agent       ; section 2.2.1.4.21
                           / request-context          ; section 2.2.1.4.23
                           / xClientGuid              ; section 2.2.1.4.33
  
 DescReq-Token-OPT11     = pipeline-experiment        ; section 2.2.1.4.15
                           / version11-enabled        ; section 2.2.1.4.30
  
 WMS-Describe-Response   = Status-Line
                           WMS-DescResp-Headers
                           CRLF
                           WMS-DescResp-Body
  
 WMS-DescResp-Headers    = *( DescResp-Header-REQ
                           / DescResp-Header-OPT
                           / DescResp-Pragma
                           / HTTP-Header-Types )
  
 DescResp-Header-REQ     = Cache-Control              ; section 2.2.1.1
                           / Server                   ; section 2.2.1.5
  
 DescResp-Header-OPT     = Set-Cookie                 ; section 2.2.1.6
                           / Supported                ; section 2.2.1.7
                           / X-StartupProfile         ; section 2.2.1.12
  
 DescResp-Pragma         = "Pragma: " #DescResp-Pragma-Types CRLF
  
 DescResp-Pragma-Types   = DescResp-Token-REQ
                           / DescResp-Token-OPT
                           / DescResp-Token-OPT11
  
 DescResp-Token-REQ      = no-cache                   ; section 2.2.1.4.12
                           / client-id                ; section 2.2.1.4.5
                           / features                 ; section 2.2.1.4.8
  
 DescResp-Token-OPT      = timeout                    ; section 2.2.1.4.29
                           / version-info             ; section 2.2.1.4.31
                           / version-url              ; section 2.2.1.4.32
                           / packet-pair-experiment   ; section 2.2.1.4.14
  
 DescResp-Token-OPT11    = pipeline-experiment        ; section 2.2.1.4.15
  
 WMS-DescResp-Body       = [ 3<$P Packet-Pair packet> ] ; section 2.2.3.7
                           [ <$M Metadata packet> ]   ; section 2.2.3.6
                           <$H Header packet>         ; section 2.2.3.5
  

The following example shows a Describe request.

 GET /welcome HTTP/1.1
 Accept: */*
 User-Agent: NSPlayer/12.0.7680.0
 Host: SampleServer
 X-Accept-Authentication: Negotiate, NTLM, Digest, Basic
 Pragma: version11-enabled=1
 Pragma: no-cache,rate=1.000,stream-time=0,stream-offset=0:0,packet-num=4294967295,max-duration=0
 Pragma: packet-pair-experiment=1
 Pragma: pipeline-experiment=1
 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.startupprofile
 Pragma: xClientGUID={52CB2BDB-6925-4E19-8D1D-62D10E9E2705}
 Accept-Language: en-US, *;q=0.1
  

The following example shows a Describe response.

 HTTP/1.1 200 OK
 Pragma: packet-pair-experiment=1, no-cache, pipeline-experiment=1, client-id=2676631236, xResetStrm=1, features="seekable,stridable", timeout=60000
 Content-Type: application/vnd.ms.wms-hdr.asfv1
 Server: Cougar/9.5.6001.18281..Content-Length: 5661
 Date: Thu, 25 Feb 2010 17:17:45 GMT
 Cache-Control: no-cache, x-wms-content-size=923118, max-age=86399, user-public, must-revalidate, proxy-public, proxy-revalidate
 Last-Modified: Tue, 22 Jan 2008 22:54:32 GMT
 Etag: "923118"
 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache, com.microsoft.wm.startupprofile