我可以指定 HTTP超时还是服务器强加一个值? 例如,如果我这样做:
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
[...]
该行:
Keep-Alive: timeout=15, max=100
...指定最大超时为100秒,对吧?我该如何设定这样的值?
答案 0 :(得分:58)
客户端无法指定超时,它是确定最大超时值的服务器配置。额外的Keep-Alive标头可以通知客户端服务器愿意保持连接打开的时间(超时= N值)以及服务器强制关闭之前可以通过同一连接(max = M)执行的请求数量连接。
答案 1 :(得分:2)
是的,您可以指定超时,但是服务器没有义务使用该值。如果服务器配置了其他超时,它将返回自己的Keep-Alive标头。
Keep-Alive标头是提供信息的逐跳标头 关于持久连接。客户端和服务器都能够 独立提供信息。 (Hypertext Transfer Protocol (HTTP) Keep-Alive Header)