ГОСТ Р 59800—2021
Клиент и сервер HTTP должны согласовывать необходимую компрессию поддержкой заголовка
Accept-Encoding. Кроме того, клиенты и серверы, переносящие данные SD&S в кодировке BiM, переда ют
контент с заголовком, соответствующим Content-Encoding, и не должны изменять Content-Type. Мет кой
кодирования контента, определяющей кодирование BiM, должен быть x-bim. В случае кодирования в
формате BiM клиент должен приобрести DVB-TVA-init до приобретения сегментов SD&S.
Запрос обнаружения службы должен возвращать запись обнаружения провайдера службы в соот
ветствии с 5.2.3. Запрос имеет один параметр, который может принимать значение:
-ALL — для запроса информации обнаружения всех провайдеров служб, известных запрашива
емому серверу;
- имя домена конкретного провайдера служб — для запроса информации обнаружения указанно
го провайдера служб.
При использовании режима pull записи, содержащие информацию обнаружения провайдера
служб (идентификатор полезной нагрузки 0x01), не должны быть сегментированы. Запись обнаружения
провайдера служб может существовать в двух формах:
- в виде отдельной записи XML со списком информации о нахождении полного перечня провай
дера служб;
- в виде набора записей XML, по одной на каждого провайдера служб.
Запрос обнаружения провайдера служб должен иметь следующий формат:
’GET ’path request ’НТТР/1.1’ CRLF
’Host: ’host CRLF
CRLF
где request = ‘sp_discovery?id=’ALL’/ SPId;
path = /dvb/sdns/;
Host = имя домена или адрес IP точки входа SD&S, полученные по спецификации в соответствии
с 5.2.2;
SPId = domainName Имя провайдера служб.
Запрос обнаружения службы должен возвращать запись обнаружения службы, как определено
в 5.2.4, описывающем предложение служб для конкретного провайдера служб. Запрос содержит три
обязательных параметра:
-доменное имя провайдера служб;
- идентификатор сегмента;
- версия сегмента. По этой версии сервер определит текущую версию сегмента, которую имеет
HNED.
Если версия сегмента указана, ответ на запрос должен возвращать запись обнаружения службы
для указанного сегмента только в том случае, если доступна новая версия. Номер версии возвращен
ного сегмента можно найти в записи XML. Если сегмент не изменился, сервер должен вернуть код со
стояния 204, указывающий, что запрос был успешно обработан, но объект для возврата отсутствует.
Если версия сегмента не указана, ответ на запрос должен возвращать запись обнаружения служ
бы для этого сегмента.
Если запись не найдена, сервер должен вернуть ответ со статусом 404, после этого HNED должно
будет выдать запрос обнаружения провайдера служб для проверки действительности идентификатора
сегмента.
HNED должно выдавать запрос на обнаружение службы только для идентификаторов действи
тельных сегментов, перечисленных в записи обнаружения провайдеров служб.
Запрос обнаружения службы должен соответствовать следующему формату:
’GET ’path request ’НТТР/1.1’ CRLF
’Host: ’host CRLF
CRLF
где request = ‘service_discovery?id=’SPId’&Payload=’Payloadld’&Segment
=’Segmentltem;
Path = абсолютный путь URI, предоставленный в атрибуте расположения элемента pull элемента
Offering (тип OfferingListType, таблица 18, пункт 19), с дополнительным /;
Host = расположение сети (полномочное), предоставленное URL в атрибуте Location элемента pull
элемента Offering (типа OfferingListType, таблица 18, пункт 19);
SPId = domainName Имя провайдера служб;
Payloadld = 2 HEXDIG; любое шестнадцатеричное число от 00 до ff;
32