Proxy Servers are intermediaries between a host connected to a network and an external server. A client requests the resources that it needs, that can be web pages or files, from a proxy that fetches it from the resources location before passing it to the requester. The proxy itself is usually software that runs on a purpose-dedicated machine or network applicance.
This process happens very quickly and is usually invisible to clients making the requests.
Reasons for having a Proxy
+ In order to cache commonly and heavily requested web resources so as to reduce network traffic overheads. Web pages that are visited frequently can be stored and updated periodically in a Web Proxy.
+ For applying company or national policies in prohibiting certain types of content.
+ To audit and monitor a network's data traffic.
+ Provide security to a network by filtering inbound malicious activities.
Topologically, proxies can be located at gateways on corporate LANs & WANs, at Internet Service Providers or can even be on local machines.