Normally, a connection is closed after each request. When a client requests the keep-alive option, an HTTP connection can
be kept open after each request and response, so that multiple requests can be executed on the same connection.
Once a connection is opened, the client has the specified amount of time to send the complete HTTP request, including the
body for POST requests. On connections where keep-alive is requested, the timeout is reset after sending a result, so the
beginning of each request is like the opening of a new connection.
The difference between the KeepaliveTimeout and Timeout protocol options is that KeepaliveTimeout specifies the total time
from opening the connection, while Timeout specifies the maximum amount of time between packets within the request.