• 160 likes • 1.35k Views
what is icap?. ICAP lets clients send HTTP messages to servers for some sort of
E N D
1. ICAP: theInternet ContentAdaptation Protocol ICAP Forum Meeting
February 14, 2000
2. what is icap? ICAP lets clients send HTTP messages to servers for some sort of �adaptation�
In essence, an �RPC� mechanism (Remote Procedure Call) for HTTP messages
An adapted message might be a request:
Modify request method, URL being requested, etc.
...or, it might be a reply
Change any aspect of delivered content
3. why icap?distribute load, orintegrate 3rd party components
4. why icap?make local content smarter
5. what icap isn�t(for now) A way to specify adaptation policy
A configuration protocol
A protocol that establishes trust between previously unrelated parties
In other words:ICAP defines the how, not who, when or why
6. icap: general design Simple, simple, simple: CGI should be able to turn a web server to an ICAP server
Based on HTTP (+special headers)
Three modes:
Modify a request
Satisfy a request (like any other proxy)
Modify a response
7. request modification(typical)
8. request modification The request is passed to the ICAP server (almost) unmodified; just like a proxy would
Whatever method was used by the user is used by the ICAP client as well
The ICAP server sends back a modified request, encapsulated in response headers
Body, if any (e.g. POST), may also be modified
9. request satisfaction(typical)
10. response modification(typical)
11. response modification ICAP client always uses POST to send body
Encapsulated in POST headers may also be:
Headers used by user to request the object
Headers used by origin server in its reply
ICAP server replies with modified content
12. infinite variations These examples were illustrative, not comprehensive -- this generic interface enables many different kinds of apps!
Edge content sources can pass pages to ad servers
Expensive operations can be offloaded
Content filters can respond either with an unmodified request or HTML (�Get Back to Work!�)
13. future work Discussion should be split in two parts
Bug fixes: How is the current standard broken?
Standard is limited in scope compared to policy, but a critical first step
Wish list: What do we want for the future?
Harder policy questions go here
Implementation experience will inform this discussion