Section 7. Request

A request message uses the format outlined below regardless of the
   direction of a request, whether client to server or server to client:
   o  Request line, containing the method to be applied to the resource,
      the identifier of the resource, and the protocol version in use;
   o  Zero or more Header lines, which can be of the following types:
      general-headers (Section 6), request-headers (Section 7.2), or
      message body headers (Section 9.1);
   o  One empty line (CRLF) to indicate the end of the header section;
   o  Optionally, a message body, consisting of one or more lines.  The
      length of the message body in octets is indicated by the Content-
      Length message header.
7.1.  Request Line
   The request line provides the key information about the request: what
   method, on what resources, and using which RTSP version.  The methods
   that are defined by this specification are listed in Table 2.
                    +---------------+----------------+
                    | Method        | Defined in     |
                    +---------------+----------------+
                    | DESCRIBE      | Section 13.2   |
                    |               |                |
                    | GET_PARAMETER | Section 13.8   |
                    |               |                |
                    | OPTIONS       | Section 13.1   |
                    |               |                |
                    | PAUSE         | Section 13.6   |
                    |               |                |
                    | PLAY          | Section 13.4   |
                    |               |                |
                    | PLAY_NOTIFY   | Section 13.5   |
                    |               |                |
                    | REDIRECT      | Section 13.10  |
                    |               |                |
                    | SETUP         | Section 13.3   |
                    |               |                |
                    | SET_PARAMETER | Section 13.9   |
                    |               |                |
                    | TEARDOWN      | Section 13.7   |
                    +---------------+----------------+
                         Table 2: The RTSP Methods
   The syntax of the RTSP request line has the following:
      <Method> SP <Request-URI> SP <RTSP-Version> CRLF
   Note: This syntax cannot be freely changed in future versions of
   RTSP.  This line needs to remain parsable by older RTSP
   implementations since it indicates the RTSP version of the message.
   In contrast to HTTP/1.1 [RFC7230], RTSP requests identify the
   resource through an absolute RTSP URI (including scheme, host, and
   port) (see Section 4.2) rather than just the absolute path.
      HTTP/1.1 requires servers to understand the absolute URI, but
      clients are supposed to use the Host request-header.  This is
      purely needed for backward compatibility with HTTP/1.0 servers, a
      consideration that does not apply to RTSP.
   An asterisk "*" can be used instead of an absolute URI in the
   Request-URI part to indicate that the request does not apply to a
   particular resource but to the server or proxy itself, and is only
   allowed when the request method does not necessarily apply to a
   resource.
   For example:
      OPTIONS * RTSP/2.0
   An OPTIONS in this form will determine the capabilities of the server
   or the proxy that first receives the request.  If the capability of
   the specific server needs to be determined, without regard to the
   capability of an intervening proxy, the server should be addressed
   explicitly with an absolute URI that contains the server's address.
   For example:
      OPTIONS rtsp://example.com RTSP/2.0
7.2.  Request-Header Fields
   The RTSP headers in Table 3 can be included in a request, as request-
   headers, to modify the specifics of the request.
                 +---------------------+----------------+
                 | Header              | Defined in     |
                 +---------------------+----------------+
                 | Accept              | Section 18.1   |
                 |                     |                |
                 | Accept-Credentials  | Section 18.2   |
                 |                     |                |
                 | Accept-Encoding     | Section 18.3   |
                 |                     |                |
                 | Accept-Language     | Section 18.4   |
                 |                     |                |
                 | Authorization       | Section 18.8   |
                 |                     |                |
                 | Bandwidth           | Section 18.9   |
                 |                     |                |
                 | Blocksize           | Section 18.10  |
                 |                     |                |
                 | From                | Section 18.23  |
                 |                     |                |
                 | If-Match            | Section 18.24  |
                 |                     |                |
                 | If-Modified-Since   | Section 18.25  |
                 |                     |                |
                 | If-None-Match       | Section 18.26  |
                 |                     |                |
                 | Notify-Reason       | Section 18.32  |
                 |                     |                |
                 | Proxy-Authorization | Section 18.36  |
                 |                     |                |
                 | Proxy-Require       | Section 18.37  |
                 |                     |                |
                 | Referrer            | Section 18.41  |
                 |                     |                |
                 | Request-Status      | Section 18.42  |
                 |                     |                |
                 | Require             | Section 18.43  |
                 |                     |                |
                 | Terminate-Reason    | Section 18.52  |
                 +---------------------+----------------+
                     Table 3: The RTSP Request-Headers
   Detailed header definitions are provided in Section 18.
   New request-headers may be defined.  If the receiver of the request
   is required to understand the request-header, the request MUST
   include a corresponding feature tag in a Require or Proxy-Require
   header to ensure the processing of the header.