[10564] in www-talk@info.cern.ch
Re: Pipelining
daemon@ATHENA.MIT.EDU (Henrik Frystyk Nielsen)
Tue Jan 28 16:37:07 1997
Date: Tue, 28 Jan 1997 16:23:49 -0500
To: "Gerardo Diaz" <gdiaz@www.cegs.itesm.mx>, www-talk@www10.w3.org
From: Henrik Frystyk Nielsen <frystyk@www10.w3.org>
In-Reply-To: <9701281453.ZM1908@www.cegs.itesm.mx>
Resent-From: www-talk@www10.w3.org
At 02:53 PM 1/28/97 -0800, Gerardo Diaz wrote:
>How does the HTTP/1.1 specification implements Pipelining? I know that it
does
>not use any specific method nor header. So how does it works?
Pipelining is very simple: As you say - there are no changes to the HTTP
messages - everything on the wire looks the same. Only the timing is
different. In HTTP/1.1 we know that the connections by default stays open.
That is, we can start sending multiple requests to the server while we are
still waiting for a response. This means that the server when handled a
request immediately can start handling the next one instead of waiting for
the client to send a new one.
The result is that we save a lot of RTTs between the client and the server.
By doing some clever output buffering when sending the requests and the
responses, we can also save a lot of TCP packets which improves the overall
performance.
There is also an explanation at
http://www.w3.org/pub/WWW/Talks/9612/IETF-SanJose/sld006.htm
which is one of the slides that Jim Gettys and me presented at the San Jose
IETF meeting.
Henrik
--
Henrik Frystyk Nielsen, <frystyk@w3.org>
World Wide Web Consortium, MIT/LCS NE43-346
545 Technology Square, Cambridge MA 02139, USA