Протокол HTTP является стандартным протоколом для передачи данных в архитектуре "клиент-сервер". В режиме HTTP решение Kaspersky Scan Engine выступает как REST-подобная служба, которая получает от клиентов HTTP-запросы в формате JSON. Служба сканирует объекты, переданные в этих запросах, и отправляет обратно HTTP-ответы с результатами сканирования в формате JSON или простого текста.
Кроме того, пакет распространения Kaspersky Scan Engine включает в себя пример HTTP-клиента и его исходный код. Этот пример HTTP-клиента демонстрирует, как делать запросы в Kaspersky Scan Engine в режиме HTTP. Вы также можете использовать скомпилированный пример для сканирования файлов из командной строки.
Способы передачи данных
Поддерживаются два способа передачи данных между клиентами и Kaspersky Scan Engine:
Только для систем Linux.
Режимы сканирования
Kaspersky Scan Engine поддерживает следующие режимы сканирования:
scanfile
В этом режиме пример HTTP-клиента передает пути к файлам в Kaspersky Scan Engine, который читает файлы и проверяет их.
scanmemory
В этом режиме пример HTTP-клиента передает содержимое файла в Kaspersky Scan Engine, который проверяет содержимое. Максимальный размер объекта, отправляемого на сканирование в режиме сканирования памяти, ограничен системной памятью компьютера.
checkurl
В этом режиме пример HTTP-клиента передает URL-адреса в 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 следующая:
kavhttpd
.Чтобы попробовать авторизацию по токену 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 |