What Is A Proxy Server?
A proxy server, in a general sense of the term proxy, is a stand-in server. In a network, a proxy server is the entity that sits between corporate client machines and the Internet. For example, it may sit between a client application, such as a Web browser and the corporate server. Proxies are used to intercept incoming and outgoing requests to see if it can fulfill the requests itself. If not, it then forwards the request to the real server.
Forward and Reverse ProxiesThe most common types of proxy servers are called forward and reverse proxies. A forward proxy is used to forward outgoing requests from a private network or intranet to the Internet, usually through a firewall. The main goal of the forward proxy is to provide a level of security and also to reduce network traffic. For example, if a Web browser is configured to do so, all requests will be made through the proxy, which in turn will apply filtering rules. The proxy will then request the site the user was trying to reach on his or her behalf, or more accurately: "by proxy."
In contrast, a reverse proxy handles requests coming from the Internet to the private network or intranet. This provides a level of security that prevents the Internet clients from having direct access to data on the corporate servers. The reverse proxy sits between your Web server and the world. When an HTTP connection comes in, the reverse proxy will decide what to do, and then make a request to the appropriate backend Web server. Reverse proxies are very important, and they are commonly used to secure and load balance Web servers and also act as a content filter.
Proxy servers can also be chained. This is not a type of proxy server, but rather a method for using reverse and forward proxy servers across your network or across multiple networks in cases where the number of requests to the proxy may exceed its limits causing it to slow down. A proxy server chain lets you assign a specific number of clients to each proxy within the chain.
The Purpose of a Proxy Server
Proxy servers have two main purposes:
Proxy servers can dramatically improve performance for groups of users. This is because it saves the results of all requests for a certain amount of time. Consider the case where both user X and user Y access the World Wide Web through a proxy server. First user X requests a certain Web page, which we'll call Page 1. Sometime later, user Y requests the same page. Instead of forwarding the request to the Web server where Page 1 resides, which can be a time-consuming operation, the proxy server simply returns the Page 1 that it already fetched for user X. Since the proxy server is often on the same network as the user, this is a much faster operation. Proxy servers can support hundreds or thousands of users.
Proxy servers can also be used to filter requests. For example, a company might use a proxy server to prevent its employees from accessing a specific set of Web sites.