Printer Friendly Version      Send     
Click to Rate and Give Feedback
MSDN
MSDN Library
Open Specifications
Windows Protocols
2 Messages
2.2 Message Syntax
2.2.2 Request Types
 Describe Request
2.2.2.1 Describe Request

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 MUST be sent using the HTTP GET method. It SHOULD NOT include a Pragma header with the xPlayStrm (section 2.2.1.4.36) token, but it MAY include this token if the value is set to 0. The Describe request MUST NOT include the xPlayNextEntry (section 2.2.1.4.35) token on a Pragma header, and the request MUST NOT include the pipeline-request (section 2.2.1.4.16) token on a Pragma header.

A server that receives a GET request MUST treat it as a Describe request if the Pragma header is missing or if all of the following conditions are satisfied: The value of the xPlayStrm token on the Pragma header is 0, and the xPlayNextEntry token is missing from the Pragma header, and the pipeline-request token is missing from the Pragma header, and the stream-switch-entry (section 2.2.1.4.27) token is missing from the Pragma header.

If the request succeeds, the server MUST respond to the request with the $H (Header) packet (section 2.2.3.5) for the content. If the URL identifies a server-side playlist, the $H packet MUST pertain to the first entry, or current entry, in the playlist. The response SHOULD also contain $P packets (section 2.2.3.7) and an $M packet (section 2.2.3.6), as appropriate.

The Describe request can be sent by using either the HTTP 1.0 protocol, as specified in [RFC1945], or the HTTP 1.1 protocol, as specified in [RFC2616]. The response MUST NOT use Chunked Transfer Coding even if HTTP 1.1 is used.

The syntax of the Describe request is defined as follows.

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

The syntax of the Describe response is defined as follows.

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.asf HTTP/1.0 
Accept: */* 
User-Agent: NSPlayer/10.0.0.3802 
Host: SampleServer 
X-Accept-Authentication: Negotiate, NTLM, Digest, Basic 
Pragma: no-cache
Pragma: packet-pair-experiment=1 
Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.startupprofile 
Pragma: xClientGUID={11223344-1122-1122-1122-AABBCCDDEEFF} 
Accept-Language: en-US, *;q=0.1
122-1122-1122-AABBCCDDEEFF} 
Accept-Language: en-US, *;q=0.1

© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker