The HTTP protocol originally required a direct TCP/IP connection between the web browser and the web server. This architecture did not work well with many corporate network architectures that employed firewalls between their internal and external networks. This led to the development of proxy web servers. Most web browsers allow the user to specify an optional proxy server. A proxy server is simply an intermediate server that acts as a relay between client browsers on an internal network and external web servers as shown in Figure 20-1.
Such a connection is more secure because a direct TCP/IP connection is never made between the client browser and the web server. All connections are " proxied " by the proxy server. Most proxy servers also have a caching capability. A caching server can greatly reduce your required bandwidth. Lets say your company does not use any proxy server and in a given day 100 users download the sun.com home page, which is about 50,000 bytes. That would be a total of 5 Mbytes of data transferred. A caching proxy server would store the sun.com home page the first time it was accessed and serve subsequent requests out of this local cache until such time as the sun.com page was updated. The total bandwidth required is now reduced to 50,000 bytes, plus any overhead to check that the page had not been updated, typically just a few bytes per access. Other functions, such as content filtering, are often also implemented in proxy servers because they provide a convenient single point of control versus the difficulty of trying to control every client browser.