- From: Ian Clelland <ian@veryfresh.com>
- Date: Sat, 2 Aug 2003 16:34:38 -0700
- To: Mike Dierken <mdierken@hotmail.com>
- Cc: www-talk@w3.org
On Fri, Aug 01, 2003 at 09:30:59PM -0700, Mike Dierken wrote: > > Is pipelining the same as 'keep-alive'? > I thought it was something different... > > ----- Original Message ----- > From: "Tim.Greenwald" <tim.greenwald@wamu.net> > > I would be interested in comments regarding the trade-off of using > > pipelining. My thoughts on this are that it is great because it relieves > the > > burden on the server of having to open a TCP connection for each request > for > > an object but the trade-off is that the requests have to be sent/received > in > > order. This seems to me to override the benefits of multi-threading. If I > > was to send multiple GETs at the same time I would open multiple > connections > > but the requests could be processed concurrently. It's a similar concept -- Keep-Alive was an artifact of HTTP/1.0 which was removed in HTTP/1.1. In 1.1, the default behaviour is to keep connections open for some time to accept further requests, unless a 'Connection: close' header is sent. In response to the original question, I don't think it's really a tradeoff at all -- you can optimise a client's performance by using request pipelining in conjunction with multiple requests. I don't think it's uncommon for a web client to open one connection to a server to get a document, then open half a dozen more connections to get the related images / style sheet, and then keep all of those connections open. When the user clicks a link to another document on the same server, the connections are all still open, so the second document can be retreived even faster. Ian Clelland <ian@veryfresh.com>
Received on Saturday, 2 August 2003 19:34:41 UTC