デフォルトで暗黙的にキープアライブとなっているHTTP/1.1要求ですか?

Solved: pasting the bytes here made me realise that I was missing empty lines between chunks...


HTTP/1.1要求で Connection:keep-alive ヘッダーを指定する必要がありますか、またはデフォルトで常にキープアライブですか?

This guide made me think it would; that, when my http server gets a 1.1 request, it is keep-alive unless explicitly receiving a Connection: close header.

私は ab httperf のさまざまなクライアントの振る舞いが、


以下は、 httperf --hog --port 42042 --print-reply body が送るものです:

GET/HTTP/1.1
User-Agent: httperf/0.9.0
Host: localhost

そして、私のサーバーの応答は次のとおりです。

HTTP/1.1 200 OK
Connection: keep-alive
Transfer-Encoding: chunked
Content-Length: 18

12
Hello World      1
0

httpref promptly prints out the response, but then just sits there, neither side closing the connection and httpref not exiting.

私のバグはどこですか?

13
チャンクされたエンコーディングでのコンテンツの長さはあまり意味がありません
追加された 著者 nurettin,
はい、キープアライブはHTTP/1.1デフォルトです。
追加された 著者 Benjie,

1 答え

RFC 2616、セクション8.1.2 から:

HTTP/1.1と以前のバージョンのHTTPの重要な違いは、永続的な接続がすべてのHTTP接続のデフォルト動作であることです。つまり、特に指定のない限り、クライアントはサーバーからのエラー応答後であっても、サーバーが永続的な接続を維持することを想定すべきです(SHOULD)。

19
追加された