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: