web-dev-qa-db-de.com

HTTP-Keep-Alive-Timeout

Kann ich das HTTP-Zeitlimit angeben oder legt das Server einen Wert fest? Zum Beispiel, wenn ich tue:

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
[...]

Die Linie:

Keep-Alive: timeout=15, max=100

... gibt an, dass es ein maximales Timeout von 100 Sekunden gibt, oder? Wie kann ich einen solchen Wert einstellen?

35
Ricky Robinson

Der Client kann das Zeitlimit nicht angeben. Die Serverkonfiguration bestimmt den maximalen Zeitlimitwert. Der zusätzliche Keep-Alive-Header kann dem Client mitteilen, wie lange der Server bereit ist, die Verbindung offen zu halten (Timeout = N-Wert) und wie viele Anforderungen Sie über dieselbe Verbindung ausführen können (max = M), bevor der Server das Schließen erzwingt der Verbindung.

Siehe auch Richtige Verwendung von KeepAlive in Apache Htaccess

61
krisku

Ja, Sie können eine Zeitüberschreitung angeben, der Server ist jedoch nicht verpflichtet, diesen Wert zu verwenden. Wenn der Server mit einem anderen Zeitlimit konfiguriert ist, gibt er seinen eigenen Keep-Alive-Header zurück.

Der Keep-Alive-Header ist ein Hop-by-Hop-Header, der Informationen zu einer dauerhaften Verbindung bereitstellt. Sowohl der Client als auch der Server können Informationen unabhängig voneinander bereitstellen. ( HTTP-Keep-Alive-Header (Hypertext Transfer Protocol )

2
erdemkose