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 ICAP-Nachricht zu kennzeichnen. Besonders bei **RESPMOD-Requests** (Response Modification) ist dieser Header entscheidend, da er dem ICAP-Server mitteilt, wo im Datenstrom die verschiedenen Teile (z.B. HTTP-Response-Header, HTTP-Response-Body) beginnen. **Grundprinzip:** Der Encapsulated Header besteht aus Schlüssel-Wert-Paaren, wobei der Schlüssel den Typ des eingebetteten Teils angibt (z.B. `res-hdr`, `res-body`, `req-hdr`, `req-body`, `null-body`) und der Wert die Byte-Position (Offset) dieses Teils im ICAP-Request-Body angibt. Hier sind fünf vielfältige und ausführlich erläuterte Beispiele: --- ### 1. **Nur HTTP-Response-Header (ohne Body)** **Anwendung:** Ein ICAP-Client möchte nur den HTTP-Response-Header zur Prüfung senden, z.B. bei einer HEAD-Anfrage. **Encapsulated Header:** ``` Encapsulated: res-hdr=0, null-body=123 ``` **Erläuterung:** - `res-hdr=0`: Der HTTP-Response-Header beginnt direkt am Anfang (Offset 0). - `null-body=123`: Nach 123 Bytes (Länge des Headers) folgt kein Body, sondern das Ende der Nachricht. --- ### 2. **HTTP-Response-Header und Body** **Anwendung:** Ein kompletter HTTP-Response (Header + Body) wird zur Inhaltsüberprüfung an den ICAP-Server geschickt. **Encapsulated Header:** ``` Encapsulated: res-hdr=0, res-body=200 ``` **Erläuterung:** - `res-hdr=0`: Der Header beginnt bei Byte 0. - `res-body=200`: Der Body beginnt bei Byte 200 (nachdem der Header 200 Bytes lang ist). --- ### 3. **HTTP-Request-Header und HTTP-Response-Header** **Anwendung:** Manche ICAP-Server benötigen sowohl den ursprünglichen Request als auch die Response, z.B. für Authentifizierungsprüfungen. **Encapsulated Header:** ``` Encapsulated: req-hdr=0, res-hdr=150, null-body=350 ``` **Erläuterung:** - `req-hdr=0`: Der Request-Header beginnt bei Byte 0. - `res-hdr=150`: Der Response-Header beginnt bei Byte 150. - `null-body=350`: Nach 350 Bytes ist die Nachricht zu Ende (kein Body). --- ### 4. **HTTP-Response mit Body im Chunked Encoding** **Anwendung:** Der Body wird in Chunks übertragen, z.B. bei großen Dateien. **Encapsulated Header:** ``` Encapsulated: res-hdr=0, res-body=180 ``` **Erläuterung:** - `res-hdr=0`: Header ab Byte 0. - `res-body=180`: Chunked Body ab Byte 180. Die Chunks werden nach ICAP-Spezifikation weiterverarbeitet. --- ### 5. **Nur HTTP-Response-Body (ohne Header)** **Anwendung:** Selten, aber möglich, wenn nur der Body zur Analyse geschickt wird (z.B. bei nachgelagerten Scans). **Encapsulated Header:** ``` Encapsulated: res-body=0, null-body=1024 ``` **Erläuterung:** - `res-body=0`: Der Body beginnt direkt am Anfang. - `null-body=1024`: Nach 1024 Bytes ist der Body zu Ende. --- **Zusammenfassung:** Für die Berechnung des Encapsulated Headers werden die **Längen der einzelnen Teile** (Header, Body) und deren **Reihenfolge** im ICAP-Request benötigt. Die Offsets geben an, wo jeder Teil im Datenstrom beginnt. Die Beispiele zeigen verschiedene Kombinationen, wie sie in der Praxis auftreten können. **Weitere Informationen:** - [ICAP RFC 3507](https://datatracker.ietf.org/doc/html/rfc3507) - [ICAP.org – Technical Resources](https://www.icap.org/technical-resources/)
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]
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]