Software → System Design
Proxy
An intermediary that receives network requests and forwards them to another destination on behalf of a client or server.
Proxy
A proxy is an intermediary that receives a network request and communicates with another destination on behalf of one side of the connection.
Motivation
Direct communication is not always desirable. A proxy creates a control point where an organization can apply policy, protect identities, cache responses, inspect traffic, or reach destinations that clients cannot access directly.
Forward proxy
In common networking usage, proxy often means a forward proxy. It acts on behalf of clients. The destination server sees the proxy as the requester rather than communicating directly with each client.
Typical uses include:
- Controlling outbound access from a company network.
- Hiding or centralizing client network identities.
- Caching frequently requested external resources.
- Filtering or auditing outbound traffic.
Mental model
A client says, “Fetch this for me.” The proxy makes the downstream request, receives the response, and returns it to the client. The client normally knows that it is configured to use the proxy.
Proxy versus reverse proxy
The distinction is which side the intermediary represents:
- A forward proxy represents one or more clients when they contact external servers.
- A reverse proxy represents one or more servers when external clients contact a service.
Both forward requests, but their placement, policies, and trust boundaries differ.
Common mistakes
- Using “proxy” and “reverse proxy” interchangeably.
- Assuming every proxy performs load balancing.
- Assuming encryption prevents a configured proxy from observing any traffic; visibility depends on protocol and TLS configuration.
- Forgetting that proxies affect source addresses, headers, authentication, timeouts, and failure behavior.
Related concepts
Proxy connects to reverse proxy, firewall, caching, request-response communication, and network policy.