|
|
cURL Mailing List Monthly Index Single Mail
curl-tracker mailing list Archives
[ curl-Bugs-2878004 ] 5 range support waits on keepalive timeout [2]
From: SourceForge.net <noreply_at_sourceforge.net>
Date: Wed, 14 Oct 2009 02:45:52 +0000
Bugs item #2878004, was opened at 2009-10-13 18:51
Please note that this message will contain a full copy of the comment thread,
Initial Comment:
Specifically, I'm talking about: range support waits on keepalive timeout - ID: 2853575
I'll reproduce the relevant bits here:
me:
If one issues a range request, the Connection: close header *should* be
Since curl does not send a "Connection: close" header with the http/1.1
Fix: send a "Connection: close" header when making http/1.1 requests.
Side note: when curl is used to make the same exact request *without*
Sample Request:
curl -D - --range 0-0,10-10,-30 http://.....
badger:
Why would a range: request need a connection: close header any more than
The fix is not that simple as you make it sound like. curl and libcurl are
But "connection: close" when libcurl is closing the socket anyway is
curl should not wait for the server to close the socket for any requests.
And now some new data:
1. regarding a connection: close header when curl is going to close the socket anyway being pointless:
rfc2616 clearly state: In case the client does not want to maintain a connection for more than that request, it SHOULD send a Connection header including the connection-token close.
It's a "be polite to the server" issue. Server implementations can optimize for the situation if they see a connection: close header. It's not much of an optimization, but it does help.
2. regarding libcurl "waiting" for the server to close the connection: I'll have to get back to you on that one.
3. regarding curl (the binary) and sending a connection: close header. curl (the binary) should send a connection: close header on the *last* (or only) request made.
It's true that libcurl should generally be configured to pipeline requests, however, in the case of curl (the binary) it should detect the *last* request being made (in most cases, probably the only request) and send the connection: close header.
----------------------------------------------------------------------
>Comment By: Daniel Stenberg (bagder)
Message:
HTTP 1.1 does persistant connections by default. The fact that a Range:
libcurl cannot "detect" the last request as it doesn't know the last one
Now, if you get curl to "hang" waiting for the server to close the
----------------------------------------------------------------------
You can respond by visiting:
These mail archives are generated by hypermail. |
Page updated November 12, 2010.
web site info