An intermediary server that sits between client and server.
Sits before the client. Hides the client's identity from the server. (e.g. VPN, School Filter)
Sits before the server. Hides the server's identity from the client. (e.g. Load Balancer, CDN, Security)