Kaspersky Scan Engine и режим HTTP

Протокол HTTP является стандартным протоколом для передачи данных в архитектуре "клиент-сервер". В режиме HTTP решение Kaspersky Scan Engine выступает как REST-подобная служба, которая получает от клиентов HTTP-запросы в формате JSON. Служба сканирует объекты, переданные в этих запросах, и отправляет обратно HTTP-ответы с результатами сканирования в формате JSON или простого текста.

Кроме того, пакет распространения Kaspersky Scan Engine включает в себя пример HTTP-клиента и его исходный код. Этот пример HTTP-клиента демонстрирует, как делать запросы в Kaspersky Scan Engine в режиме HTTP. Вы также можете использовать скомпилированный пример для сканирования файлов из командной строки.

Способы передачи данных

Поддерживаются два способа передачи данных между клиентами и Kaspersky Scan Engine:

Режимы сканирования

Kaspersky Scan Engine поддерживает следующие режимы сканирования:

Вы можете сканировать файлы и URL-адреса, отправляя HTTP-запросы по протоколу KAV версии 3 или протоколу KAV версии 1 и 2.

Авторизация по токену API

Kaspersky Scan Engine поддерживает авторизацию по токену API.

Если авторизация по токену API включена, HTTP-клиенты должны указывать токен API в заголовке запроса при отправке запросов в Kaspersky Scan Engine. Это поле заголовка запроса, используемое для отправки токена API, имеет пользовательское имя. Администратор Kaspersky Scan Engine может указать это имя в разделе Authorization Kaspersky Scan Engine GUI. Имя по умолчанию – Authorization.

Если вы включили авторизацию по токену API и служба kavhttpd не запущена, запуск klScanEngineUI также инициирует запуск службы kavhttpd.

Обычная процедура создания и использования токена API следующая:

  1. Администратор Kaspersky Scan Engine создает токен в разделе Authorization Kaspersky Scan Engine GUI.
  2. Администратор Kaspersky Scan Engine предоставляет токен пользователям, которые могут использовать его для доступа к службе kavhttpd.
  3. При выполнении HTTP-запросов HTTP-клиент отправляет токен в качестве значения поля авторизации в заголовке запроса. Название поля авторизации в заголовке запроса должно совпадать с именем, указанным в параметрах Kaspersky Scan Engine (см. описание элемента Authorization header field в разделе Authorization).
  4. В случае успешной авторизации Kaspersky Scan Engine предоставляет доступ к своим функциям.

Чтобы попробовать авторизацию по токену API и понять, как это работает, вы можете использовать HTTP-клиент, поставляемый с Kaspersky Scan Engine: настройте Kaspersky Scan Engine для авторизации запросов, создайте токен API, а затем используйте HTTP-клиент для отправки запроса, содержащего токен. Вы можете найти примеры таких запросов, отправленных по протоколу KAV версии 1 или 2 и версии 3.

По соображениям безопасности требуется HTTPS-соединение для отправки запросов, требующих авторизации.

Постоянные соединения Keep-Alive

По умолчанию Kaspersky Scan Engine поддерживает постоянные соединения Keep-Alive, поэтому он может обрабатывать несколько объектов один за другим, используя одно и то же соединение.

Чтобы открыть постоянное соединение Keep-Alive, HTTP-клиент должен добавить к запросу следующий заголовок:

Connection: Keep-Alive

Чтобы открыть соединение Keep-Alive, HTTP-клиент должен добавить к запросу следующий заголовок:

Connection: close

В начало страницы