Proxy chaining is a mechanism that allows you to create a hierarchical chain of proxy servers. Each Caching Proxy in a proxy chain belongs to a certain level in the hierarchy. If a proxy server in the lowest level of the hierarchy cannot serve the requested URL from its cache, it forwards the request to the proxy server at the next level in the hierarchy instead of forwarding the request immediately to the content Web server. This method increases the likelihood that a requested file will be found in a cache. The higher the level in the chain, the larger the number of users that access that proxy.
The proxy server at the highest level of the chain contacts the Web content server to retrieve the documents if a requested document is not in its cache. The proxy server that retrieves the document serves it to the client, and also passes the document back down the hierarchy so that all the proxies under it in the hierarchy cache the document. The proxy server that retrieved the document also caches it.
If an intermediate proxy has a cached copy of the requested resource, it returns a copy to the requesting client directly from the cache, without forwarding the request to the originating Web server.
It is important to note that chaining proxy servers together introduces more latency in the request process. Two chained proxies is the recommended limit. You might not want to chain proxies unless you are in a large organization where you would place "small" proxies close to the users (for example, in a branch office) and then chain to a "large" proxy that connects directly to the Internet.