Ein Dialog mit einem Virenscanner via ICAP (Internet Content Adaptation Protocol) läuft typischerweise so ab, dass ein ICAP-Client (z. B. ein Proxy) eine Anfrage an einen ICAP-Server (z. B. einen... [mehr]
Ein Dialog mit einem Virenscanner via ICAP (Internet Content Adaptation Protocol), bei dem ein Preview in mehreren Chunks gesendet wird, läuft typischerweise wie folgt ab: **1. ICAP-REQMOD-Anfrage mit Preview-Header:** Der ICAP-Client (z. B. ein Proxy) sendet eine REQMOD- oder RESPMOD-Anfrage an den ICAP-Server (Virenscanner). Im Header wird die Größe des Previews angegeben, z. B. `Preview: 1024`. **Beispiel für die an den Scanner gesendeten Daten:** ``` REQMOD icap://virenscanner.example.net/scan ICAP/1.0 Host: virenscanner.example.net Allow: 204 Preview: 1024 Encapsulated: req-hdr=0, req-body=... [weitere Header] [HTTP-Anfrage-Header] [leere Zeile] [Body beginnt, falls vorhanden] ``` **2. Senden des Preview-Chunks:** Der Client sendet die ersten N Bytes (z. B. 1024) des Bodys als Preview. Die Daten werden im Chunked-Encoding übertragen. ``` 400 [1024 Bytes Preview-Daten] 0; ieof ``` - `400` ist die Hexadezimalzahl für 1024 (Größe des Chunks). - `0; ieof` signalisiert das Ende des Previews, aber nicht zwingend das Ende des gesamten Bodys. **3. Antwort des ICAP-Servers:** Der Server kann jetzt entscheiden: - **204 No Modification Needed**: Keine weitere Datenübertragung nötig. - **100 Continue**: Der Server benötigt mehr Daten. **Beispiel für 100 Continue:** ``` ICAP/1.0 100 Continue ``` **4. Senden weiterer Chunks:** Der Client sendet die nächsten Chunks des Bodys, jeweils im Chunked-Encoding-Format: ``` 400 [weitere 1024 Bytes] 400 [weitere 1024 Bytes] ... 0 ``` - Jeder Chunk beginnt mit der Größe in Hex, gefolgt von den Daten. - Das letzte Chunk ist `0`, was das Ende des Bodys signalisiert. **Zusammengefasst:** - **Header mit Preview-Angabe** - **Preview-Chunk (z. B. 1024 Bytes)** - **Warten auf 100 Continue** - **Weitere Chunks senden, bis der Body komplett ist** **Beispiel für die gesendeten Daten (vereinfacht):** ``` REQMOD icap://virenscanner.example.net/scan ICAP/1.0 Host: virenscanner.example.net Preview: 1024 Encapsulated: req-hdr=0, req-body=... [HTTP-Header] [leere Zeile] 400 [1024 Bytes Preview] 0; ieof [Warten auf 100 Continue] 400 [weitere 1024 Bytes] 400 [weitere 1024 Bytes] 0 ``` **Weitere Informationen:** - [ICAP RFC 3507](https://datatracker.ietf.org/doc/html/rfc3507) - [Wikipedia: ICAP](https://de.wikipedia.org/wiki/Internet_Content_Adaptation_Protocol) Die genaue Struktur kann je nach Implementierung und verwendetem ICAP-Client leicht variieren.
Ein Dialog mit einem Virenscanner via ICAP (Internet Content Adaptation Protocol) läuft typischerweise so ab, dass ein ICAP-Client (z. B. ein Proxy) eine Anfrage an einen ICAP-Server (z. B. einen... [mehr]
Um binäre Daten (z. B. eine Datei) direkt an einen Virenscanner über das ICAP-Protokoll zu senden, wird typischerweise der ICAP-Request mit einem eingebetteten HTTP-Request oder HTTP-Respons... [mehr]
Beim Einsatz von ICAP (Internet Content Adaptation Protocol) zur Virenprüfung gibt der ICAP-Server nach der Analyse einer Datei eine Antwort an den Client zurück. Die wichtigsten Statuscodes... [mehr]