Internet Content Adaptation Protocol
From Wikipedia, the free encyclopedia
The Internet Content Adaptation Protocol (ICAP) is a lightweight HTTP based protocol specified in RFC 3507 designed to off-load specific content to dedicated servers, thereby freeing up resources and standardizing the way in which features are implemented. ICAP is generally used in proxy servers to integrate with third party products like antivirus software, malicious content scanners and URL filters.
ICAP in its most basic form is a "lightweight" HTTP based remote procedure call protocol. In other words, ICAP allows its clients to pass HTTP based (HTML) messages (Content) to ICAP servers for adaptation. Adaptation refers to performing the particular value added service (content manipulation) for the associated client request/response.
ICAP concentrates on leveraging edge-based devices (proxies and caches) to help deliver value-added services. At the core of this process is a cache that will proxy all client transactions and will process them through ICAP Web servers. These ICAP servers are focused on a specific function, for example, ad insertion, virus scanning, content translation, language translation, or content filtering. Off-loading value-added services from Web servers to ICAP servers allows those same web servers to be scaled according to raw HTTP throughput versus having to handle these extra tasks.
[edit] History
ICAP was proposed in late 1999 by Peter Danzig and John Schuster from Network Appliance. Don Gillies took over the project in the spring of 2000 and enhanced the protocol to allow pipelined ICAP servers all 3 encapsultions of HTTP allowed by HTTP 1.1. Gillies also prototyped the first ICAP client and server for the NetCache series of internet caches in mid-2000 and produce training materials for vendors. The first demonstration proxy was written in PERL and employed word-replacement filters to rewrite web pages, skip over HTML tags, and translate web pages into "swedish chef" or "jive" in real time.
[edit] Open source implementations
- ICAP-server.sf.net (Python, multiplatform)
- Squid 3.0 (C++, multiplatform)
- GreasySpoon (ICAP server, Java, multiplatform)
- c-icap (C, multiplatform)
[edit] External links
- ICAP Forum
- http://www.icap-forum.org/documents/specification/icap_whitepaper_v1-01.pdf
- RFC 3507 (Informational)
- Using ICAP with SafeSquid Proxy
| This computer network-related article is a stub. You can help Wikipedia by expanding it. |