RTSP 2.0 | Поле заголовка запроса Accept

Синтаксис строки запроса RTSP имеет следующий вид:

<Method> SP <Request-URI> SP <RTSP-Version> CRLF

Заголовки RTSP в таблице могут быть включены в запрос как request-headers (заголовки запроса), чтобы изменить специфику запроса.

Поле заголовка запроса «Accept» может использоваться для указания определенного описания презентации и типов медиа-параметров [RFC6838 #], которые являются приемлемыми для ответа на запрос метода DESCRIBE.

Символ звездочки «*» используется для группировки типов мультимедиа по диапазонам, где «* / *» обозначает все типы мультимедиа, а «type/*» обозначает все подтипы этого типа. Диапазон МОЖЕТ включать параметры типа носителя, которые обычно применимы к этому диапазону.

За каждым типом носителя или диапазоном МОЖЕТ следовать одна или несколько принимаемых параметров, начиная с параметра «q», чтобы указать относительный коэффициент качества. Первый параметр «q» (если есть) отделяет тип носителя или параметры диапазона от параметров «accept-params«. Коэффициенты качества позволяют пользователю или пользовательскому агенту указывать относительную степень предпочтения для этого типа носителя с использованием шкалы «qvalue» от 0 до 1 (раздел 5.3.1 [RFC7231 #]). Значением по умолчанию является q = 1.

Пример использования:

Accept: application/example ;q=0.7, application/sdp

Указывает, что запрашивающий агент предпочитает тип носителя «application/sdp» через рейтинг по умолчанию 1.0, но также принимает тип носителя «application/example» с рейтингом качества 0.7.

Если поле заголовка Accept отсутствует, предполагается, что клиент принимает все типы мультимедиа. Если присутствует поле заголовка Accept, и если сервер не может отправить ответ, который является приемлемым согласно комбинированному значению поля Accept, то сервер ДОЛЖЕН отправить ответ 406 (Не приемлемо).

Синтаксис поля заголовка запроса Accept в RTSP 2.0

Accept = "Accept" HCOLON [ accept-range *(COMMA accept-range) ]
accept-range = media-type-range [SEMI accept-params]
media-type-range = ( "*/*" / ( m-type SLASH "*" ) / ( m-type SLASH m-subtype ) ) *( SEMI m-parameter )
accept-params = "q" EQUAL qvalue *(SEMI generic-param )
qvalue = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3("0") ] )

Ссылки

Скачать оригинальный документ на английском языке RFC 7826 — Real-Time Streaming Protocol Version 2.0

Читать полную версию документа на русском языке RFC 7826 — Потоковый протокол в реальном времени (RTSP), версия 2.0

Ссылка на синтаксис

Поделись записью