Internet Content Adaptation Protocol
# Internet Content Adaptation Protocol

Internet Content Adaptation Protocol (ICAP) ist ein Kommunikationsprotokoll zur einfachen Weiterleitung von Inhalten für HTTP, HTTPS und FTP-basierte Dienste.

## Ziel

Allgemein ist ICAP ein schlankes Protokoll, um einen „Remote Procedure Call“ für HTTP(S) und FTP auszuführen. ICAP-Clients können HTTP-Daten an einen ICAP-Server weitergeben, der seinerseits die Inhalte umformt oder bearbeitet („adaptiert“). Der Server sendet die Daten nach der Bearbeitung zurück an den Client. Normalerweise sind die adaptierten Inhalte HTTP(S)/FTP-Anfragen oder -Antworten.

Es sind auch Produkte bekannt, die ICAP in einer modifizierten Version zur Mailfilterung verwenden, so z. B. der Webwasher.

## Funktion

Ein ICAP-Client ist im Normalfall ein Proxy, der HTTP(S)/FTP-Requests von einem Browser entgegennimmt. Die Daten werden zu einem ICAP-Server gesendet, um dort bearbeitet zu werden. Diese Bearbeitung kann eine Überprüfung des URL, ein Virenscan etc. sein. Der Server sendet eine Antwort zurück, die dann über den ICAP-Client zurück zum Browser geht und dort angezeigt wird. ICAP verwendet standardmäßig den TCP-Port 1344.

Für die Weiterleitung werden die HTTP(S)/FTP-Daten in ein ICAP-Paket verpackt und an den Server weitergeleitet. Es wird bei der Weiterleitung zwischen zwei Modi unterschieden. Für die Anfragen gibt es reqmod (Request modification) und für den Inhalt respmod (Response modification). Diese Unterscheidung ermöglicht es beispielsweise Inhaltsfiltern, neben dem Blockieren von nicht gewünschten Anfragen auch noch Bandbreite zu sparen. Anfragen, die bereits im reqmod blockiert werden, verursachen kein weiteres Laden von Internetinhalten, wodurch Bandbreite gespart wird.

