Proxy Server

A proxy server commonly called "proxy" or "application level gateway" is a computer that acts a gateway between the local network and other network such as Internet. It sits between a client and server and intercept the requests. It provides security, performance and can monitor other computers in the network. So proxy servers are used for several reasons security, data caching (to reduce bandwidth demands), filtering of data (to block undesired sites.), to circumvent regional restrictions and load balancing.

The incoming data is recieved through one port which is connected to outside(Internet) and is forwarded to rest of the network through other port. It hides details of the inner network for outside world. Proxy servers can also be made to block some internet services. By doing so, the proxy server can process request quickly. In this way, proxy server speeds up network traffic, and relieves server load.

A proxy server can optionally alter the client's request, can alter the server's response, and it can also sometime server the request without contacting the sever. In this case, it use the cached response form remote server and returns the subsequent request for that content directly.

Difference Between a NAT and Proxy Server

Proxy server is not related to NAT(Network Address Translation) device. A proxy server connects and receives data from Internet on behalf of the client computer, while a NAT changes the orgination address of traffic coming through it before passing to the internet.

We generally point out browser to use the proxy to access the internet. If a proxy server doesn't require the web browser to configure for the use of proxy it is then called Transparent proxy server.

References

http://kb.iu.edu/data/ahoo.html
http://civisec.org/guides/everyones-guides