RTSP 2.0 | Поле общего заголовка Via

RTSP 2.0 | Поле общего заголовка Via

Общие заголовки RTSP 2.0 — это заголовки, которые могут использоваться как в запросах, так и в ответах. Общие заголовки RTSP 2.0 перечислены в таблице 1

Поле общего заголовка «Via» ДОЛЖНО использоваться прокси для указания промежуточных протоколов и получателей между пользовательским агентом и сервером по запросам, и между исходным сервером и клиентом по ответам. Это поле предназначено для отслеживания пересылки сообщений, исключения циклов запросов и определения возможностей протокола всех отправителей в цепочке запросов / ответов.

 

Каждое из нескольких значений в поле Via представляет каждый прокси-сервер, который перенаправил сообщение. Каждый получатель ДОЛЖЕН добавить свою информацию так, чтобы конечный результат был упорядочен в соответствии с последовательностью приложений пересылки. Поэтому сообщения, отправляемые клиентом или сервером, не включают заголовок Via. Первый прокси или другой промежуточный продукт добавляет заголовок и его информацию в поле. Любое дополнительное промежуточное звено добавляет дополнительные значения поля. В результате сервер видит цепочки промежуточных звеньев в запросе клиент-сервер, а клиент видит полную цепочку в ответном сообщении.

Прокси-серверы (например, прокси-сервер доступа (Access Proxy) или прокси-сервер транслятора (Translator Proxy)) по умолчанию НЕ ДОЛЖНЫ пересылать имена и порты хостов в частном / защищенном регионе. Эта информация ДОЛЖНА распространяться, только если она явно включена. Если этот параметр не включен, любой Via-получатель, проходящий через брандмауэр / NAT, должен быть заменен соответствующим псевдонимом для этого хоста.

Для организаций, которые предъявляют строгие требования к конфиденциальности для сокрытия внутренних структур, прокси-сервер МОЖЕТ объединить упорядоченную подпоследовательность записей поля заголовка Via с идентичными значениями отправленного протокола в одну такую запись. Приложения НЕ ДОЛЖНЫ объединять записи, которые имеют разные значения принятого протокола.

Синтаксис поля общего заголовка Via в RTSP 2.0

Via = "Via" HCOLON via-parm *(COMMA via-parm)
via-parm = sent-protocol LWS sent-by *( SEMI via-params )
via-params = via-ttl / via-maddr / via-received / via-extension
via-ttl = "ttl" EQUAL ttl
via-maddr = "maddr" EQUAL host
via-received = "received" EQUAL (IPv4address / IPv6address)
IPv4address = < Определён в RFC 3986 #>
IPv6address = < Определён в RFC 3986 #>
via-extension = generic-param
sent-protocol = protocol-name SLASH protocol-version SLASH transport-prot
protocol-name = "RTSP" / token
protocol-version = token
transport-prot = "UDP" / "TCP" / "TLS" / other-transport
other-transport = token
sent-by = host [ COLON port ]

Ссылки

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

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

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