Wie sieht ein ICAP-Request im RESPMOD aus, wenn ein binäres Byte-Array zur Virenprüfung gesendet wird? Gib vier Beispiele für Arrays mit 4 bis 30 Bytes und erläutere die Requestelemente.

Antwort vom

Ein ICAP-Request im RESPMOD-Modus (Response Modification) wird verwendet, um z. B. einen HTTP-Response (etwa eine heruntergeladene Datei) an einen ICAP-Server zu senden, der diesen Inhalt z. B. auf Viren prüft. Das binäre Byte-Array (z. B. ein Dateiausschnitt) wird dabei als HTTP-Body im encapsulierten HTTP-Response übertragen. **Aufbau eines ICAP-RESMOD-Requests mit binärem Body:** 1. **ICAP-Request-Line:** Gibt Methode (hier RESPMOD), URI des ICAP-Servers und Protokollversion an. 2. **ICAP-Header:** Enthält Metadaten wie Host, Encapsulated, Preview, Allow, etc. 3. **Encapsulated HTTP-Response:** Der zu prüfende HTTP-Response (Header + Body). 4. **Body:** Der eigentliche binäre Inhalt (z. B. Datei), als Chunked Encoding. **Beispielhafte ICAP-Request-Elemente:** - `REQMOD` oder `RESPMOD`: Modus (hier RESPMOD) - `Host`: ICAP-Server - `Encapsulated`: Gibt die Offsets der eingebetteten HTTP-Nachrichten an - `Preview`: Optional, gibt an, wie viele Bytes als Vorschau gesendet werden - `Allow`: Gibt unterstützte Features an (z. B. 204) **Beispiel 1: 4-Byte-Array** ```http RESPMOD icap://icap.example.com/virus_scan ICAP/1.0 Host: icap.example.com Encapsulated: res-hdr=0, res-body=137 Allow: 204 HTTP/1.1 200 OK Content-Type: application/octet-stream Content-Length: 4 4 DEADBEEF 0 ``` **Beispiel 2: 8-Byte-Array** ```http RESPMOD icap://icap.example.com/virus_scan ICAP/1.0 Host: icap.example.com Encapsulated: res-hdr=0, res-body=137 Allow: 204 HTTP/1.1 200 OK Content-Type: application/octet-stream Content-Length: 8 8 CAFEBABEDEADBEEF 0 ``` **Beispiel 3: 16-Byte-Array** ```http RESPMOD icap://icap.example.com/virus_scan ICAP/1.0 Host: icap.example.com Encapsulated: res-hdr=0, res-body=137 Allow: 204 HTTP/1.1 200 OK Content-Type: application/octet-stream Content-Length: 16 10 00112233445566778899AABBCCDDEEFF 0 ``` **Beispiel 4: 30-Byte-Array** ```http RESPMOD icap://icap.example.com/virus_scan ICAP/1.0 Host: icap.example.com Encapsulated: res-hdr=0, res-body=137 Allow: 204 HTTP/1.1 200 OK Content-Type: application/octet-stream Content-Length: 30 1E 000102030405060708090A0B0C0D0E0F10111213141516171819 0 ``` **Erläuterung der Request-Elemente:** - **RESPMOD icap://icap.example.com/virus_scan ICAP/1.0** → ICAP-Request-Line: Modus, URI, Protokollversion - **Host: icap.example.com** → Ziel-ICAP-Server - **Encapsulated: res-hdr=0, res-body=137** → Gibt an, wo im Request die HTTP-Response-Header und der Body beginnen (Offset in Bytes) - **Allow: 204** → Unterstützt 204-No-Modification-Needed-Responses - **HTTP/1.1 200 OK ...** → Eingebetteter HTTP-Response-Header (kann auch andere Header enthalten) - **Content-Type, Content-Length** → Typ und Länge des zu prüfenden Inhalts - **Chunked Encoding (z. B. 4, 8, 10, 1E)** → Hexadezimale Angabe der Chunk-Größe (z. B. 4 Bytes = "4", 30 Bytes = "1E") - **Binärdaten (z. B. DEADBEEF)** → Der eigentliche zu prüfende Inhalt, hexadezimal

Verwandte Fragen

Wie unterscheiden sich ICAP RESPMOD Requests mit HTTP GET und direkter ByteArray-Übertragung, inklusive je zwei ausführlicher Beispiele mit Erläuterung?

ICAP (Internet Content Adaptation Protocol) wird genutzt, um HTTP-Nachrichten (Requests oder Responses) an externe Dienste wie Virenscanner oder Content-Filter weiterzuleiten. Dabei gibt es verschiede...

Wie berechnet man den Encapsulated Header für ICAP RESPMOD genau? Drei Beispiele mit Preview und unbekannter Inputstream-Länge inklusive Daten.

Der Encapsulated Header im ICAP-Protokoll (RFC 3507) gibt an, an welchen Byte-Offsets im ICAP-Body die verschiedenen eingebetteten HTTP-Nachrichten (z.B. HTTP-Request, HTTP-Response, Body) beginnen. E...

Was ist die Query in einer ICAP URI, wofür wird sie genutzt und wie wird sie eingesetzt? Bitte 5 ausführliche Beispiele mit vollständiger ICAP URI.

Die Query in einer ICAP-URI ist der optionale Teil nach dem Fragezeichen (?). Sie funktioniert ähnlich wie bei HTTP-URIs: Sie überträgt zusätzliche Parameter oder Informationen an...

Welche ICAP Header sind bei OPTIONS, REQMOD und RESPMOD jeweils in Request und Response zu verwenden? Komplette tabellarische Übersicht, erforderliche Header markieren.

Hier ist eine tabellarische Übersicht der wichtigsten ICAP-Header für die Methoden OPTIONS, REQMOD und RESPMOD – jeweils unterteilt nach Request und Response. Erforderliche Header sind...

Welche ICAP Header sind mit OPTIONS, REQMOD und RESPMOD in Request und Response jeweils zulässig? Bitte tabellarisch darstellen.

Hier ist eine tabellarische Übersicht der wichtigsten ICAP-Header, die gemäß RFC 3507 in den jeweiligen ICAP-Methoden (OPTIONS, REQMOD, RESPMOD) im Request und Response verwendet werde...

Welche ICAP-Header sind bei den drei ICAP-Methoden in Request und/oder Response zulässig? Vollständige Liste mit Bedeutung.

Im ICAP-Protokoll (Internet Content Adaptation Protocol, RFC 3507) gibt es drei Hauptmethoden: REQMOD, RESPMOD und OPTIONS. Jede Methode verwendet bestimmte ICAP-spezifische Header, die in Requests un...

Wie unterscheiden sich bei ICAP RESPMOD und REQMOD und welche je 3 Beispiele gibt es für Request und Response bei gleicher Anfrage?

ICAP (Internet Content Adaptation Protocol) wird genutzt, um HTTP-Anfragen und -Antworten durch externe Server (z. B. Virenscanner, Content-Filter) zu modifizieren. Die beiden Hauptmodi sind: REQMOD (...