Question

Can I specify the HTTP timeout or does the server impose a value? For example, if I do:

telnet my.server.net 80
Trying X.X.X.X...
Connected to my.server.net.
Escape character is '^]'.
GET /homepage.html HTTP/1.0
Connection: keep-alive
Host: my.server.net

HTTP/1.1 200 OK
Date: Thu, 03 Oct 2013 09:05:28 GMT
Server: Apache
Last-Modified: Wed, 15 Sep 2010 14:45:31 GMT
ETag: "1af210b-7b-4904d6196d8c0"
Accept-Ranges: bytes
Content-Length: 123
Vary: Accept-Encoding
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html
[...]

The line:

Keep-Alive: timeout=15, max=100

...specifies that there is a maximum timeout of 100 seconds, right? How can I set such value?

Was it helpful?

Solution

The client cannot specify the timeout, it is the server configuration that determines the maximum timeout value. The extra Keep-Alive header can inform the client how long the server is willing to keep the connection open (timeout=N value) and how many requests you can do over the same connection (max=M) before the server will force a close of the connection.

See also Proper use of KeepAlive in Apache Htaccess

OTHER TIPS

Yes, you can specify timeout but server has no obligation to use that value. If server is configured with a different timeout, it will return its own Keep-Alive header.

The Keep-Alive header is a hop-by-hop header that provides information about a persistent connection. Both client and server are able to provide information independently. (Hypertext Transfer Protocol (HTTP) Keep-Alive Header)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top