A proxy server is a program that stands between an internal network and the external Internet, intercepting requests for information. A proxy is generally part of a broader solution to internal network security called a firewall.
The purpose of a proxy is to prevent external users from directly accessing resources inside the internal network or knowing precisely where those resources are located. The proxy intercepts an external request for information, determines whether the request can be fulfilled, and passes on the request to an internal server, the address of which is not disclosed to the external client. This protection from external attack comes at the price of imposing inconveniences (including configuration hassles and slower performance) on internal users who want to access the external Internet. See firewall.