ICAP (Internet Content Adaptation Protocol) wird häufig verwendet, um HTTP-Anfragen und -Antworten durch externe Dienste wie Virenscanner oder Content-Filter zu leiten. Das RESPMOD (Response Modi... [mehr]
Ein ICAP-Request im RESPMOD-Modus mit Preview und Chunking dient dazu, HTTP-Antworten (z. B. HTML-Seiten) an einen ICAP-Server zu senden, damit dieser sie inspizieren oder modifizieren kann. Die Vorschau (Preview) ermöglicht es dem ICAP-Server, zunächst nur einen Teil der Nachricht zu sehen und zu entscheiden, ob er den Rest benötigt. Chunking wird verwendet, um große Nachrichten in Teile (Chunks) zu zerlegen. **Allgemeiner Aufbau:** - ICAP-Request-Line und Header - Encapsulated Header, der die Positionen der eingebetteten HTTP-Response und des Bodys angibt - Eingebettete HTTP-Response (Header + Body) - Body im Chunked-Encoding (bei Preview: nur ein Teil, dann ggf. 100 Continue und Rest) --- ### Beispiel 1: ICAP RESPMOD mit Preview (nur ein Teil des Bodys, Server kann mehr anfordern) **ICAP-Request:** ``` RESPMOD icap://icap.example.net/respmod ICAP/1.0 Host: icap.example.net Encapsulated: res-hdr=0, res-body=137 Preview: 20 Allow: 204 Content-Length: 197 HTTP/1.1 200 OK Date: Mon, 01 Jul 2024 12:00:00 GMT Content-Type: text/html Content-Length: 60 0a <html> <body> Hello, World! </body> </html> 0a 0; ieof ``` **Erklärung:** - `Preview: 20` gibt an, dass 32 Bytes (hex 0x20) als Vorschau gesendet werden. - Der Body ist chunked: `0a` (10 Bytes), dann der HTML-Teil, dann wieder `0a`, dann das Ende mit `0; ieof` (ieof = "includes end of file", d. h. das war der ganze Body). --- ### Beispiel 2: ICAP RESPMOD mit Preview und anschließendem vollständigen Chunked Body **ICAP-Request (nur Preview):** ``` RESPMOD icap://icap.example.net/respmod ICAP/1.0 Host: icap.example.net Encapsulated: res-hdr=0, res-body=137 Preview: 10 Allow: 204 Content-Length: 157 HTTP/1.1 200 OK Date: Mon, 01 Jul 2024 12:00:00 GMT Content-Type: text/html Content-Length: 50 05 <h1> 05 Test 0; ieof ``` **Angenommen, der ICAP-Server antwortet mit "ICAP 100 Continue", dann folgt der Rest:** ``` 05 Page 05 </h1> 0 ``` **Erklärung:** - Im ersten Request werden nur die ersten 10 Bytes des Bodys als Preview gesendet. - Nach "100 Continue" wird der Rest des Bodys in weiteren Chunks übertragen. --- **Wichtige Punkte:** - Die Chunk-Größe steht vor jedem Chunk in Hexadezimal. - Das Ende des Bodys wird mit `0` (und ggf. `ieof`) markiert. - Die eingebettete HTTP-Nachricht besteht aus Headern und dem HTML-Body. **Weitere Infos:** - [ICAP RFC 3507](https://datatracker.ietf.org/doc/html/rfc3507) - [ICAP-Implementierungen und Beispiele](https://www.c-icap.org/documentation.html)
ICAP (Internet Content Adaptation Protocol) wird häufig verwendet, um HTTP-Anfragen und -Antworten durch externe Dienste wie Virenscanner oder Content-Filter zu leiten. Das RESPMOD (Response Modi... [mehr]
ICAP (Internet Content Adaptation Protocol) wird häufig verwendet, um HTTP-Datenströme (z. B. von Web-Proxys) an externe Dienste wie Virenscanner oder Content-Filter weiterzuleiten. Das ICAP... [mehr]
Beim ICAP-Protokoll (Internet Content Adaptation Protocol) wird der **Encapsulated Header** verwendet, um die Positionen und Längen der eingebetteten HTTP-Nachrichten (z.B. HTTP-Anfrage, HTTP-Ant... [mehr]
Beim ICAP-Protokoll (Internet Content Adaptation Protocol) wird der **Encapsulated Header** verwendet, um die Positionen und Längen der eingebetteten HTTP-Nachrichtenbestandteile innerhalb einer... [mehr]
Ein ICAP-Request im RESPMOD-Modus (Response Modification) dient dazu, HTTP-Antworten (z. B. von einem Webserver) an einen ICAP-Server weiterzuleiten, etwa zur Virenprüfung. Das binäre Byte-A... [mehr]
Im ICAP-Protokoll (Internet Content Adaptation Protocol, [RFC 3507](https://datatracker.ietf.org/doc/html/rfc3507)) ist bei einem OPTIONS-Request **kein Request-Body vorgesehen**. Das bedeutet: - Ein... [mehr]
In ICAP (Internet Content Adaptation Protocol) ist der **Encapsulated-Header** in einem **OPTIONS-Request** **verpflichtend** (erforderlich). ### Begründung Laut [RFC 3507, Abschnitt 4.5](https... [mehr]
Die Angabe einer Benutzerinfo in einer ICAP-URI (Uniform Resource Identifier) dient dazu, Authentifizierungsinformationen wie Benutzername und optional ein Passwort anzugeben. Das ist besonders dann r... [mehr]