proxy server

A server 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 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.