Aller au contenu principal

6 Request (Requête)

6 Request (Requête)

Un message de requête du client vers le serveur, ou l'inverse, comprend, dans la première ligne de ce message, la méthode à appliquer à la ressource, l'identifiant de la ressource et la version du protocole utilisée.

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 (Ligne de requête)

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 (Champs d'en-tête de requête)

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

Notez que, contrairement à HTTP/1.1 [2], les requêtes RTSP contiennent toujours l'URL absolue (c'est-à-dire incluant le schéma, l'hôte et le port) plutôt que le seul chemin absolu.

HTTP/1.1 exige que les serveurs comprennent l'URL absolue, mais les clients sont censés utiliser l'en-tête de requête Host. Ceci est purement nécessaire pour la rétrocompatibilité avec les serveurs HTTP/1.0, une considération qui ne s'applique pas à RTSP.

L'astérisque « * » dans le Request-URI signifie que la requête ne s'applique pas à une ressource particulière, mais au serveur lui-même, et n'est autorisée que lorsque la méthode utilisée ne s'applique pas nécessairement à une ressource. Un exemple serait :

OPTIONS * RTSP/1.0