ICAP, Internet Content Adaptation Protocol

Description Glossary RFCs Publications Obsolete RFCs


Protocol suite: TCP/IP.
Protocol type:Application layer protocol.
Port:1344 (TCP).
MIME subtype:
Working groups:
Links: i-cap.org

RFC 3507:

The ICAP protocol is aimed at providing simple object-based content vectoring for HTTP services. ICAP is, in essence, a lightweight protocol for executing a "remote procedure call" on HTTP messages. It allows ICAP clients to pass HTTP messages to ICAP servers for some sort of transformation or other processing ("adaptation"). The server executes its transformation service on messages and sends back responses to the client, usually with modified messages. Typically, the adapted messages are either HTTP requests or HTTP responses.

ICAP is a request/response protocol similar in semantics and usage to HTTP/1.1. Despite the similarity, ICAP is not HTTP, nor is it an application protocol that runs over HTTP. This means, for example, that ICAP messages can not be forwarded by HTTP surrogates.

MAC header IP header TCP header ICAP message

ICAP message:


OPTIONSLearn about configuration. RFC 3507
REQMODRequest modification. RFC 3507
RESPMODResponse modification. RFC 3507

ICAP status codes:

(1yz) Informational codes:

100Continue after ICAP preview.

(2yz) Success codes:

204No modifications needed.

(4yz) Client error codes:

400Bad request.
404ICAP Service not found.
405Method not allowed for service (e.g., RESPMOD requested for service that supports only REQMOD).
408Request timeout. ICAP server gave up waiting for a request from an ICAP client.

(5yz) Server error codes:

500Server error. Error on the ICAP server, such as "out of disk space".
501Method not implemented. This response is illegal for an OPTIONS request since implementation of OPTIONS is mandatory.
502Bad Gateway. This is an ICAP proxy and proxying produced an error.
503Service overloaded. The ICAP server has exceeded a maximum connection limit associated with this service; the ICAP client should not exceed this limit in the future.
505ICAP version not supported by server.



[RFC 3507] Internet Content Adaptation Protocol (ICAP).


Obsolete RFCs:

Description Glossary RFCs Publications Obsolete RFCs