intermediary
proxy, gateway, tunnel
an agent that sits on the request/response chain between user agent and origin server, acting as both a server and a client
HTTP is defined for a chain, not just two endpoints. The three named intermediary roles:
- proxy — a forwarding agent the client chose, often to add a service (caching, filtering, translation). It knows it's a proxy.
- gateway (a.k.a. reverse proxy) — an agent that acts as the origin server from the client's side, forwarding inbound. The client can't tell it's a gateway.
- tunnel — blindly relays bytes without touching them (e.g. CONNECT for HTTPS through a proxy). It's not an HTTP participant once established.