Some are excerpts from Grokking System Design

The Concept

A proxy server is an intermediary piece of hardware/software that sits between the client and the back-end server. It receives requests from clients and relays them to the origin servers.


Typically, proxies are used to filter requests or log requests, or sometimes transform requests (by adding/removing headers, encrypting/decrypting, or compression).

Another advantage of a proxy server is that its cache can serve a lot of requests.

Coordinating requests from multiple servers and can be used to optimize request traffic from a system-wide perspective. e.g. collapse the same (or similar) data access requests into one request and then return the single result to the user; this scheme is called collapsed forwarding.

Last updated