ICAP/1.0 200 OK
Connection: close
Date: Mon, 27 Apr 2026 15:54:04 GMT
Encapsulated: res-hdr=0, res-body=73
Istag: v210-
Service: Multicheck ICAP collector v2.1.0
X-Response-Desc:
X-Response-Info: Dangerous
HTTP/1.1 403 Forbidden
X-Response-Desc:
X-Response-Info: Dangerous
52
++<++html++><++body++><++h1++>++Access Denied++<++/h1++><++p++>++Malicious content detected.++<++/p++><++/body++><++/html++>++
0Синхронный режим передачи по ICAP
Асинхронный режим передачи по ICAP, в при котором после успешного приема файла в обработку сервер сразу отвечает ICAP 204 No content, с версии 2.1. дополнен:
вариант ответа ICAP 200 OK – рекомендованный метод: снимается требование к клиенту об обязательной передаче ICAP-заголовка Allow: 204.
синхронный режим работы – после успешной передачи файла в обработку, сервер ожидает вердикта по полученному файлу. Максимальное время ожидания ответа по умолчанию - 1 час.
После получения вердикта сервер отвечает клиенту
для вердиктов Clean и Unknown - кодами 204 No content или 200 OK (содержащим исходный http request/response)
для вердиктов Dangerous и Malicious - 200 OK, содержащим html-заглушку:
"<html><body><h1>Access Denied</h1><p>Malicious content detected.</p></body></html>"
К ответу добавляются заголовки ICAP:
X-Response-Info - содержит вердикт
X-Response-Desc - содержит подробности, относящиеся к вердикту - пустую строку
Примеры ответов:
Blocking response
204 No Content response
ICAP/1.0 204 No Modifications
Connection: close
Encapsulated: null-body=0
Istag: v210-
Service: Multicheck ICAP collector v2.1.0
X-Response-Desc:
X-Response-Info: CleanПоддержка ответов 200 OK
По стандарту ICAP отвечать статусом 204 можно только если клиент прислал заголовок Allow: 204
Некоторые клиенты, (например, squid), не принимает ответы 204 для контента >64кб.
Для подобных клиентов добавлена поддержка ответов 200 OK. Т.к. по стандарту в таком ответе надо вернуть клиенту оригинальный запрос целиком, приходится его сохранять. В зависимости от размера содержимого (если его удается определить) тело запроса сохраняется в storage (>=MaxMemContentSize) или в памяти. Место сохранения определяется константой `MaxMemContentSize`, равная 256кб. Сразу после ответа теза запросу удаляется.
Была ли эта страница полезной?
Спасибо за отзыв!
Спасибо, мы учтём это для улучшения документации.