ICAP Server Test Suite Data Sheet
Test Suite: ICAP Server Test Suite
Direction: Server
ICAP, the Internet Content Adaption Protocol, is a protocol aimed at providing simple object-based content vectoring for HTTP services. ICAP is, in essence, a lightweight protocol for executing a u0022remote procedure callu0022 on HTTP messages. It allows ICAP clients to pass HTTP messages to ICAP servers for some sort of transformation or other processing (u0022adaptationu0022). 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.
Used specifications
| Specification |
Title |
Notes |
| RFC 3507 |
Internet Content Adaptation Protocol (ICAP) |
Proposed standard |
| RFC 3986 |
Uniform Resource Identifier (URI) |
Used in icap URI scheme |
Tool-specific information
| Tested messages |
Notes |
| ICAP Message – REQMOD |
The ICAP server returns a modified version of the request, an HTTP response, or, if the client indicates it supports 204 responses, an indication that no modification is required. |
| ICAP Message – RESPMOD |
ICAP client sends an origin server’s HTTP response to an ICAP server and, if available, the original client request that caused the response. Similar to the Request Modification method, the response from the ICAP server can be an adapted HTTP response, an error, or a 204 response code indicating that no adaptation is required. |
| ICAP Message – OPTIONS |
The OPTIONS method MUST be implemented by all ICAP servers. All other methods are optional and MAY be implemented. The ICAP OPTIONS method is used by the ICAP client to retrieve configuration information from the ICAP server. With this method, the ICAP client sends a request addressed to a specific ICAP resource and receives a response with options specific to the service named by the URI. All OPTIONS requests MAY also return options that are global to the server (i.e., apply to all services). |
| ICAP Message with payload |
ICAP messages with encapsulated HTTP data MUST use chunked encoding. These messages can contain encapsulated HTTP request and response data for manipulation. The encapsulated data is always wrapped in this chunked encoding and may not contain all the original data if a preview header is present. |
| Supported protocol features |
Notes |
Specifications |
| Transport over TCP with TLS |
The Upgrade header MAY be used to negotiate Transport-Layer Security on an ICAP connection, exactly as described for HTTP/1.1 |
RFC 2616 |