When the client wants to communicate with a server, either being the final server or an intermediate proxy, it performs the following steps :
1. Open a TCP connection.
2. Send an HTTP message.
3. Read the response sent by the server.
4. Close or reuse the connection for further requests.