web-dev-qa-db-ja.com

HTTPキープアライブタイムアウト

HTTPタイムアウトを指定できますか?serverは値を強制しますか?たとえば、次の場合:

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秒であることを指定しますか?そのような値を設定するにはどうすればよいですか?

35
Ricky Robinson

クライアントはタイムアウトを指定できません。最大タイムアウト値を決定するのはサーバー構成です。追加のKeep-Aliveヘッダーは、サーバーが接続を開いたままにする時間(timeout = N値)と、サーバーが強制的に閉じる前に同じ接続で実行できるリクエストの数(max = M)をクライアントに通知できます。接続の。

Apache HtaccessでのKeepAliveの適切な使用 も参照してください。

61
krisku

はい、タイムアウトを指定できますが、サーバーにはその値を使用する義務はありません。サーバーが異なるタイムアウトで構成されている場合、サーバーは独自のキープアライブヘッダーを返します。

キープアライブヘッダーは、永続的な接続に関する情報を提供するホップバイホップヘッダーです。クライアントとサーバーの両方が独立して情報を提供できます。 ( ハイパーテキスト転送プロトコル(HTTP)キープアライブヘッダー

2
erdemkose