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

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

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

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

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

Поле заголовка запроса «Accept-Language» аналогично Accept, но ограничивает набор естественных языков, предпочитаемых в качестве ответа на запрос. Обратите внимание, что указанный язык применяется к описанию презентации (тексту ответного сообщения) и любым фразам причины, но не к медиа-контенту.

Языковой тег идентифицирует естественный язык, на котором говорят, пишут или иным образом передают люди для передачи информации другим людям. Компьютерные языки явно исключены. Синтаксис и реестр языковых тегов RTSP 2.0 такие же, как те, которые определены в [RFC5646 #].

 

Каждому языковому диапазону МОЖЕТ быть присвоено соответствующее значение качества, которое представляет собой оценку предпочтения пользователя для языков, указанных в этом диапазоне. Значение качества по умолчанию равно «q=1». Например:

Accept-Language: da, en-gb;q=0.8, en;q=0.7

будет означать: «Я предпочитаю датский, но приму британский английский и другие типы английского». Языковой диапазон соответствует языковому тегу, если он точно равен полному тегу или если он точно равен префиксу тега, то есть первичному тегу в ABNF, так что символ, следующий за первичным тегом, равен «-». Специальный диапазон «*», если он присутствует в поле Accept-Language, соответствует каждому тегу, который не соответствует ни одному другому диапазону, присутствующему в поле Accept-Language.

Примечание. Такое использование правила сопоставления префиксов не означает, что языковые теги назначаются языкам таким образом, что всегда верно, что если пользователь понимает язык с определенным тегом, этот пользователь также будет понимать все языки с тегами для которого этот тег является префиксом. Префиксное правило просто позволяет использовать префиксные теги, если это так.

В процессе выбора языка каждому языковому тегу присваивается квалификационный фактор, т. е. если язык, поддерживаемый клиентом, фактически поддерживается сервером и какой уровень «preference» (предпочтения) достигается языком. Значение качества (q-значение) самого длинного языкового диапазона в поле, которое соответствует языковому тегу, назначается в качестве квалификационного фактора для конкретного языкового тега. Если ни один диапазон языков в поле не соответствует тегу, назначенный языковой квалификационный коэффициент равен 0. Если в запросе отсутствует заголовок Accept-Language, сервер ДОЛЖЕН предположить, что все языки одинаково приемлемы. Если присутствует заголовок Accept-Language, то все языки, которым присвоен квалификационный коэффициент больше 0, являются приемлемыми.

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

Accept-Language = "Accept-Language" HCOLON language *(COMMA language)
language = language-range [SEMI accept-params]
language-range = language-tag / "*"
language-tag = primary-tag *( "-" subtag )
primary-tag = 1*8ALPHA
subtag = 1*8ALPHA

Ссылки

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

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

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