In a network of computers, an application program or the computer system will function as a server. It acts as a link to get the information required from the other servers by the user of the computer. The client or the user will be connected to the proxy server when he requests for a file or a connection or a web page or any other details that are available from the other server. The request of the client is evaluated by the proxy server based on the rules of filtering.
For example, the proxy server may filter the traffic based on the protocol or the IP address. If the proxy server validates the request according to the filter, then it offers the resource by just connecting it to the concerned server and pass on the request for the service on clients behalf. The proxy server has also got the option to alter the request of the client or the response of the server and in many cases the request is served without any communication to the particular server. Instead, in this circumstance, it caches the reply from the remote server and forwards the further requests direct with regard to the same matter.
The proxy server has got two purposes. One is that it keeps all the computers behind it as anonymous mainly for the purpose of security. The next one is that it speeds up the access to the resource through caching. It is popularly used just for the purpose of caching the web pages from the web server.
The proxy server also passes the replies and the requests without any modification and is generally called as the gate way. It is also otherwise called as the tunneling proxy.
The proxy server can be located in the local computer of the user or even at different points between the source servers and the user or in the internet. The reverse proxy is a type of proxy that is utilized as a front end to speed up and cache the resources in demand like web page.
Although there are various uses that can be obtained from the proxy servers, the most important one is that it reduces the cost of the hardware. A company may be in possession of many computers that are connected on the same network or may be even under the control of one server and thus does not allow all the computers to have the connection to the internet directly. Under these circumstances, each and every computer under the same network can be connected to a single proxy server and in turn the proxy server will connect the computers to the main server for access to the internet.