Zum Hauptinhalt springen

6 Request (Anfrage)

6 Request (Anfrage)

Eine Anfragenachricht vom Client zum Server oder umgekehrt enthält in der ersten Zeile dieser Nachricht die auf die Ressource anzuwendende Methode, den Bezeichner der Ressource und die verwendete Protokollversion.

Request      =       Request-Line          ; Section 6.1
*( general-header ; Section 5
| request-header ; Section 6.2
| entity-header ) ; Section 8.1
CRLF
[ message-body ] ; Section 4.3

6.1 Request Line (Anfragezeile)

Request-Line = Method SP Request-URI SP RTSP-Version CRLF

Method = "DESCRIBE" ; Section 10.2
| "ANNOUNCE" ; Section 10.3
| "GET_PARAMETER" ; Section 10.8
| "OPTIONS" ; Section 10.1
| "PAUSE" ; Section 10.6
| "PLAY" ; Section 10.5
| "RECORD" ; Section 10.11
| "REDIRECT" ; Section 10.10
| "SETUP" ; Section 10.4
| "SET_PARAMETER" ; Section 10.9
| "TEARDOWN" ; Section 10.7
| extension-method

extension-method = token

Request-URI = "*" | absolute_URI

RTSP-Version = "RTSP" "/" 1*DIGIT "." 1*DIGIT

6.2 Request Header Fields (Anfrage-Header-Felder)

request-header  =          Accept                   ; Section 12.1
| Accept-Encoding ; Section 12.2
| Accept-Language ; Section 12.3
| Authorization ; Section 12.5
| From ; Section 12.20
| If-Modified-Since ; Section 12.23
| Range ; Section 12.29
| Referer ; Section 12.30
| User-Agent ; Section 12.41

Beachten Sie, dass RTSP-Anfragen im Gegensatz zu HTTP/1.1 [2] stets die absolute URL (also einschließlich Schema, Host und Port) enthalten und nicht nur den absoluten Pfad.

HTTP/1.1 verlangt von Servern, die absolute URL zu verstehen, Clients sollen jedoch den Host-Anfrageheader verwenden. Dies dient ausschließlich der Rückwärtskompatibilität mit HTTP/1.0-Servern, ein Aspekt, der für RTSP nicht gilt.

Das Sternchen „*“ im Request-URI bedeutet, dass die Anfrage nicht eine bestimmte Ressource, sondern den Server selbst betrifft, und ist nur erlaubt, wenn die verwendete Methode nicht notwendigerweise auf eine Ressource zutrifft. Ein Beispiel wäre:

OPTIONS * RTSP/1.0