Compare
Side-by-side on the decisions that recur: TCP vs UDP, HTTP/2 vs HTTP/3, flow vs congestion control, L4 vs L7, forward vs reverse proxy, IPv4 vs IPv6 — with when to choose each.
TCP vs UDPHTTP/2 vs HTTP/3Flow control vs Congestion controlSwitch vs RouterForward proxy vs Reverse proxyL4 load balancing vs L7 load balancingServer-Sent Events vs WebSocketsIPv4 vs IPv6ARP (IPv4) vs Neighbor Discovery (IPv6)Keep-alive (reuse) vs New connection per request
| Forward proxy | Reverse proxy | |
|---|---|---|
| Sits in front of | Clients — it makes requests on their behalf | Servers — it receives requests on their behalf |
| Who knows about it | The client is configured to use it; the server sees the proxy’s IP | The client does not know; it thinks the proxy is the server |
| Purpose | Egress control, caching, anonymity, policy | TLS termination, load balancing, caching, routing, WAF |
| Typical software | Squid, corporate egress gateway, HTTP_PROXY setting | nginx, HAProxy, Envoy, cloud load balancers |
| Where the client IP is lost | Server sees the proxy IP by design | Backend sees the proxy IP unless X-Forwarded-For is added |
| Status codes it generates | 407 Proxy Authentication Required | 502, 503, 504 when the upstream misbehaves |
| Choose this when | You control the clients and want to shape or inspect what leaves your network. | You control the servers and want one entry point that hides, protects and distributes them. |