A proxy acts as an intermediary for requests. A forward proxy sits in front of clients (representing them to servers), while a reverse proxy sits in front of servers (representing them to clients) — handling load balancing, caching, security, and more. Reverse proxies are key system-design components.
Forward proxy vs reverse proxy
FORWARD PROXY → sits in front of CLIENTS, forwarding their requests to servers:
Client → FORWARD PROXY → Internet/Server
→ represents the CLIENT (hides client identity); for filtering, caching, anonymity,
access control (e.g. corporate proxies)
REVERSE PROXY → sits in front of SERVERS, receiving requests on their behalf:
Client → REVERSE PROXY → Backend servers
→ represents the SERVERS (clients don't see the backend); the common system-design component
