Данный запрос имеет префикс «Http», ориентирован на вызов через HTTP-протокол и отходит от концепции обязательного возврата текстовой XML.
При успешном исполнении запроса - вернется изображение (медиа-контент) по стандарту HTTP, с указанием типа контента в заголовке (например, «image/png»).
При ошибке - в ответе будет стандартная XML с ошибкой.
Параметры запроса:
Пример запроса
/?ServiceID=1&QueryCode=HttpGetMediaContent&MediaID=1
Но чтобы работало кеширование в большинстве браузеров - URL должен иметь статический вид. Поэтому GET-запрос на HTTP-порт можно сделать в виде:
Пример запроса
/http/[ServiceID]/GetMediaContent/[MediaID]
В результате, пример сырого запроса с точки зрения HTTP-протокола:
Пример сырого запроса с точки зрения HTTP-протокола
GET /http/1/GetMediaContent/1 HTTP/1.1 Host: 127.0.0.1:8055 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive
Пример ответа с точки зрения HTTP-протокола:
Пример сырого ответа
HTTP/1.1 200 Ok Date: Fri, 06 Oct 2017 09:51:47 GMT Server: UCS PremieraExternal v3.22.9.0 ETag: "1478097459" Accept-Ranges: bytes Content-Type: image/png Cache-Control: max-age=1200 Content-Length: 15109 PNG . ... IHDR...«...F.....<Pó.....tEX... ... ...
Соответственно, поддерживается параметр «ETag» и при запросе клиент вправе использовать заголовок «If-None-Match», на что сервер может ответить HTTP 304 Not Modified.