Library Table of Contents Index Previous Next Comments

ICAP 1.0 servicing for client requests

Client request flow  Top

The following illustration maps a client request for services through an ICAP-enabled NetCache appliance that is configured to provide content filtering and virus-scanning services.

The following table describes the flow of the client request shown in the preceding illustration.

Stage

Description

1

The client makes a request for content.

2

NetCache vectors the request to REQMOD_PRECACHE, and the request is passed to the ICAP content-filtering server.

3

The request is returned to the NetCache appliance as one of the following:

    1. A potentially modified request or URL redirect
    2. An error response that is returned to the client
4

NetCache checks its cached objects for the requested content.

    1. If the request for content is a cache hit (that is, if the content exists in the cache), the cached object is the result of a previous RESPMOD_PRECACHE service, such as virus scanning, and can be returned safely to the client.
    2. If the request for content is a cache miss (that is, if the content does not exist in the cache), the request is then forwarded to the origin server.
5

The origin server satisfies the request for content and returns it to the NetCache appliance.

6

NetCache vectors the request to RESPMOD_PRECACHE, and the request is passed to the ICAP virus-scanning service farm. The content is checked for contamination before being returned to the NetCache appliance, where the object is cached and returned to the client.

Cache indexing  Top

NetCache support for multiple ICAP services introduces the possibility that different services will process the same request, and that similar requests will be processed differently. Cache indexing is the mechanism by which NetCache ensures that the content requested is the content that is served. Services such as language translation can process similar requests and allow different users to receive unique content. For example, if two users request the same content or URL, and the content is translated to French and German, both translated versions of the same URL are cached by the same NetCache appliance.

NetCache uses cache indexing to identify all RESPMOD_PRECACHE transformations in order to serve the appropriately modified content. Typically, cached objects are indexed on the basis of origin server URL. However, to support ICAP services, NetCache now stores origin server URLs and ICAP URLs. This information is a combination of the object and the services performed for that request. Cache indexing ensures that if the URL and the RESPMOD services are the same, NetCache serves a cache hit.

Library Table of Contents Index Previous Next Comments