Proxy Operation



The basic operation of a caching proxy “classic” is relatively simple. The client sends all requests to proxy exactly the same way that he would send to the origin server.


Proxy operation


On the client side, the proxy server acts as a (return a response to a request received), while the server side it acts as a client (sending a request and waiting a response back). Because of this behavior chameleon, the client does not change its operation to go to a proxy. Requests from a client may then be redirected to a proxy without his knowledge. This is generally achieved by combining a router and a proxy. The router automatically redirects all requests on port 80 (the standard port for HTTP) to a proxy. This solution, called “Web caching transparent”, saves the configuration of a proxy at user agent and can force the use of proxy. By cons, all requests HTTP that are made on other ports (which is perfectly possible) escape then the mechanism.

In general, new fresh proxies are located on a local network (Intranet), and are shared by a user community. They then form a transit point for queries of various user agents that are in the local area network.


General situation


This crossing point at the center of a community is the first quality that we have previously defined in a previous article.

The first feature is the caching proxies. It involves the use of a space storage where copies responses are registered and, if appropriate, provided with users in subsequent queries.


Caching proxy


Adding a cache involves managing it. First, we must evaluate responses may or may not be hidden, and therefore copied into the storage space.

Some responses are not cacheable, and even the answers are, it is not always appropriate to retain a copy. This decision is based mainly on information contained in the response and are normalized in the protocol HTTP. Unfortunately, caching directives are not always correct or, most often missing in the header of the response. These have also validity before serving a copy of a user must ensure that the copy is not expired and from time to time to check with the origin server if it is still valid (mechanism defined in the HTTP protocol).