Proxy server
In computer network, server application (program) that acts as middleman (intermediary) between a client requesting a resource and the server providing that resource.
.-~~~-.
.- ~ ~-( )_ _
/ ~ -.
| Internet \
\ .'
~- . _____________ . -~
|
| https://www.example.com (TCP 443)
|
[Proxy] -- (HTTPS)
|
| http://10.1.2.3 (TCP 80)
|
[Client]
Proxy servers usually used for:
- load balancing and caching (early traffic saver software as example)
- privacy and security
- ad blocking
- content filtering or bypassing filters and censorship
- logging and monitoring
- any traffic modification, such as translation or compression, etc.
Types
Gateway or tunneling proxies - passes requests and responses without modification.
Forward proxies - Internet-facing proxies, used to retrieve data from a wide range of sources (usually from Internet).
A reverse proxy is usually an internal-facing proxy used as a front-end to control and protect access to a server on a private network. A reverse proxy commonly also performs tasks such as load-balancing, authentication, decryption and caching. For example nginx Reverse Proxy.
Proxies can various levels of anonymity:
- Transparent proxy - support HTTP header fields such as X-Forwarded-For, the originating IP address can be retrieved as well. Support site caching.
- Anonymous proxy - server reveals its identity as a proxy server but does not disclose the originating IP address of the client.