process that intercepts requests from a client, passes them to an origin server and returns the response to the client while performing various other operations in the process. An HTTP proxy server
is a common example.
A proxy may be used for purposes of security
, performance (caching
) or anonymity. It may be purely software or may run on its own hardware, either a standard PC
or server machine or a custom hardware appliance. A software proxy may be on the same computer as the client or the origin server, separate hardware may be anywhere on the network in between.
The proxy may filter requests, rejecting some if the request or response matches certain conditions (e.g. an antivirus
proxy). It may cache requests and responses to reduce load on the origin server or data volume on the network or to provide quicker response to the client for common requests. The proxy may modify the request or response, e.g. to convert between different protocols or interfaces.
Proxy servers are often used in large companies as part of a firewall
so that users within the company need have no direct connection to the Internet (and can use a private IP address range) but can still access the World-Wide Web
, instant messenger, etc via the proxy. Usually this requires each client to be configured to use the proxy.
The term "proxy gateway" may more imply transparency (less intervention) in the request-response process, though is often used as a synonym for proxy server.