[10564] in www-talk@info.cern.ch

home help back first fref pref prev next nref lref last post

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


home help back first fref pref prev next nref lref last post