Skip to content
System design course
Ch.3 · Trade-offs that define a design·concept ·5 min read

Proxy vs reverse proxy

The same middleman from two ends — one acts for clients reaching out, the other for servers receiving in. Get the direction right and the rest follows.


One concept, two directions

Both are intermediaries that relay traffic. The entire distinction is whose side they’re on — the client’s or the server’s. (Introduced in Chapter 2; here we sharpen it into the comparison interviewers ask for.)

Forward proxy — acts for the client

Sits in front of clients and reaches out to the internet on their behalf. The destination sees the proxy, not the client.

  • Hides: the client (its identity/IP) from servers.
  • Used for: privacy/anonymity, corporate filtering and logging of outbound traffic, caching popular outbound content, bypassing geo/IP restrictions.
  • Configured by: the client (or its network).

Reverse proxy — acts for the server

Sits in front of servers and receives requests from the internet on their behalf. The client thinks it’s talking to one server; many may hide behind it.

  • Hides: the servers (their topology/IPs) from clients.
  • Used for: load balancing, TLS termination, caching/compression, security and request filtering, serving many backends behind one address.
  • Configured by: the server operator.

The side-by-side

Forward proxyReverse proxy
Stands in forThe clientThe server
Hidden partyClient identityServer topology
Sits in front ofA group of clientsA group of servers
Typical useFiltering, anonymity, outbound cacheLoad balancing, TLS, caching, security
Set up byClient sideServer side

The one-liner to remember

  • Forward proxy: the client’s agent — the server can’t see who’s really asking.
  • Reverse proxy: the server’s agent — the client can’t see who really answered.

The interview cue

You’ll almost always be deploying a reverse proxy (load balancers, gateways, CDNs, and edge caches are all reverse proxies). Mention forward proxies for client-side scenarios — corporate egress, crawlers routing through proxy pools. Stating “reverse proxy — it fronts our servers, terminates TLS, and load-balances” in the right spot shows you know which direction you’re standing in. (Next: how a reverse proxy differs from an API gateway.)