HTTP proxy anatomy
In this section, we're going to learn what an HTTP proxy is, why proxies are needed and used, and what types of HTTP proxy exist.
What is an HTTP proxy?
An HTTP proxy is a server that acts as an intermediary between two communication parties. There is no direct communication between the client and the server. Instead, the client connects to the proxy and sends a request to it. Then the proxy will fetch the resources from the remote server, and finally return the response back to the client:

Why do we need a proxy?
We need a proxy for the following reasons:
- Privacy: When we don't want the service to know where we're coming from or who we are.
- Bypassing filters and censorship: In countries where internet censorship is common and services are blocked, proxies can help us to get around this block.
- Logging and eavesdropping: Many companies implement proxies in order to log what employees are browsing and to eavesdrop on their communications.
- Caching: Companies who utilize caching use...