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

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

Поле общего заголовка «Session» идентифицирует сеанс RTSP. Сеанс RTSP создается сервером в результате успешного запроса метода SETUP, а в ответе идентификатор сеанса передается клиенту. Сеанс RTSP существует до тех пор, пока не будет уничтожен TEARDOWN или REDIRECT или не истечет время ожидания сервером.

Идентификатор сеанса выбирается сервером (см. Раздел 4.3 из RFC 7826) и ДОЛЖЕН быть возвращен в ответе SETUP. Как только клиент получает идентификатор сеанса, он ДОЛЖЕН быть включен в любой запрос, связанный с этим сеансом. Это означает, что заголовок Session ДОЛЖЕН быть включен в запрос, используя следующие методы: PLAY, PAUSE, PLAY_NOTIFY и TEARDOWN. Это МОЖЕТ быть включено в SETUP, OPTIONS, SET_PARAMETER, GET_PARAMETER и REDIRECT. НЕ ДОЛЖЕН быть включен в ОПИСАНИЕ. Заголовок Session НЕ ДОЛЖЕН включаться в следующие методы, если эти запросы конвейерны и если идентификатор сеанса еще не известен: PLAY, PAUSE, TEARDOWN, SETUP, OPTIONS SET_PARAMETER и GET_PARAMETER.

В ответе RTSP заголовок сеанса ДОЛЖЕН быть включен в методы SETUP, PLAY, PAUSE и PLAY_NOTIFY, и он МОЖЕТ быть включен в методы TEARDOWN и REDIRECT. Если он включен в запрос следующих методов, он также ДОЛЖЕН быть включен в ответ: OPTIONS, GET_PARAMETER и SET_PARAMETER. НЕ ДОЛЖЕН быть включен в ОПИСАНИЕ ответов.

Обратите внимание, что идентификатор сеанса идентифицирует сеанс RTSP через транспортные сеансы или соединения. Запросы RTSP для данного сеанса могут использовать разные URI (презентации и медиа-URI). Обратите внимание, что существуют ограничения в зависимости от сеанса относительно того, какие URI являются приемлемыми для данного метода. Однако несколько «пользовательских» сеансов для одного и того же URI от одного и того же клиента потребуют использования разных идентификаторов сеансов.

Идентификатор сеанса необходим для различения нескольких запросов доставки для одного и того же URI, поступающих от одного и того же клиента.

Ответ 454 (Session Not Found) ДОЛЖЕН быть возвращен, если идентификатор сеанса недействителен.

Заголовок МОЖЕТ включать параметр для периода ожидания сеанса. Если явно не указано, это значение устанавливается равным 60 секундам. Так как это влияет на то, как часто требуются средства поддержки сеанса, значения, меньшие 30 секунд, не рекомендуются. Однако значения, превышающие значения по умолчанию, могут быть полезны в приложениях RTSP, которые имеют неактивные, но установленные сеансы в течение более длительных периодов времени.

60-секундное значение было выбрано в качестве значения тайм-аута сеанса, так как оно приводит к появлению не слишком частых сообщений поддержки активности и низкой чувствительности к изменениям времени запроса / ответа. Если уменьшить значение тайм-аута до значения ниже 30 секунд, соответствующий тайм-аут запроса / ответа становится значительной частью тайм-аута сеанса. Значение 60 секунд также позволяет достаточно быстро восстанавливать выделенные ресурсы сервера в случае сбоя клиента.

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

Session = "Session" HCOLON session-id [ SEMI "timeout" EQUAL delta-seconds ]

Ссылки

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

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

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

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