Wie ist der ICAP-Dialog mit einem Virenscanner, wenn die Preview-Größe größer als die Chunk-Größe ist, und welche Daten werden dabei an den Scanner gesendet?

Antwort vom

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 Virenscanner) sendet, um Inhalte prüfen oder modifizieren zu lassen. Dabei wird der zu prüfende Inhalt oft in Chunks (Teilstücken) übertragen. Die "Preview"-Funktion von ICAP erlaubt es, dem Server zunächst nur einen Teil der Daten zu schicken, damit dieser entscheiden kann, ob er den Rest benötigt. **Szenario:** Die Preview-Größe (z. B. 1024 Bytes) ist größer als die Chunk-Größe (z. B. 512 Bytes). Das bedeutet, dass der Client mehrere Chunks senden muss, um die gewünschte Preview-Größe zu erreichen. **Beispielhafter Ablauf und gesendete Daten:** 1. **OPTIONS-Anfrage (optional, zur Feature-Erkennung):** ``` OPTIONS icap://icap-server.example.com/scan HTTP/1.1 Host: icap-server.example.com ``` 2. **REQMOD/RESPMOD-Anfrage mit Preview:** ``` REQMOD icap://icap-server.example.com/scan ICAP/1.0 Host: icap-server.example.com Allow: 204 Preview: 1024 Encapsulated: req-hdr=0, req-body=... ``` 3. **HTTP-Header (z. B. bei REQMOD):** ``` GET /file.exe HTTP/1.1 Host: www.example.com ... ``` 4. **Body mit Chunks (ICAP verwendet HTTP/1.1 chunked encoding):** - **Erster Chunk (512 Bytes):** ``` 200 <512 Bytes Daten> ``` - **Zweiter Chunk (512 Bytes):** ``` 200 <weitere 512 Bytes Daten> ``` - **Preview-Ende (null chunk mit "ieof" für "End of Preview"):** ``` 0; ieof ``` **Gesamte gesendete Daten (vereinfacht):** ``` REQMOD icap://icap-server.example.com/scan ICAP/1.0 Host: icap-server.example.com Allow: 204 Preview: 1024 Encapsulated: req-hdr=0, req-body=... GET /file.exe HTTP/1.1 Host: www.example.com ... 200 <512 Bytes Daten> 200 <weitere 512 Bytes Daten> 0; ieof ``` **Erklärung:** - Die Preview-Größe ist 1024 Bytes, aber die Chunks sind nur 512 Bytes groß. - Der Client sendet also zwei Chunks à 512 Bytes, um die Preview zu erfüllen. - Nach dem zweiten Chunk wird mit `0; ieof` signalisiert, dass das Ende der Preview erreicht ist. - Der Server entscheidet nun, ob er den Rest der Daten benötigt (204 oder 100 Continue). **Weitere Infos:** - [ICAP RFC 3507](https://datatracker.ietf.org/doc/html/rfc3507) - [Beispiel für ICAP-Dialoge](https://www.openicaps.org/icap/icap_faq.html) **Zusammenfassung:** Wenn die Preview-Größe größer als die Chunk-Größe ist, sendet der Client mehrere Chunks, bis die Preview-Größe erreicht ist, und signalisiert das Ende der Preview mit `0; ieof`.

Verwandte Fragen

Haben Norton 360 Deluxe und Norton 360 Advanced beide Virenscanner, SafePay-Funktion und sind sie für Android-Handys geeignet?

Ja. Beide sind für Android nutzbar und enthalten Virenschutz/Sicherheitsfunktionen. Der Unterschied liegt vor allem im Leistungsumfang. Kurz: Norton 360 Deluxe: für mehrere Geräte, auc...