- From: Joris Dobbelsteen <joris.dobbelsteen@mail.com>
- Date: Sun, 5 Nov 2000 17:46:10 +0100
- To: "WWW WG (E-mail)" <http-wg@cuckoo.hpl.hp.com>
Content-length in HTTP/1.0 is not directly needed, except when using the addional RFC purposing persistent connections. It gave the client a indication of the length of the file. This is nice when downloading a large file, you know that you have all the data received (in case of line failures)... HTTP/1.1 added chunked encoding in order to let HTTP implementations benefit when sending content where the length is not known (like dynamic content or an real-time video/measurement) and benefit from the persistent connections. The next request (e.g. a picture) can be requested without waisting time to open a new connection. That looks like the most logic explaination for me.... - Joris > -----Original Message----- > From: Carl Kugler/Boulder/IBM [mailto:kugler@us.ibm.com] > Sent: Thursday, 02 November 2000 20:07 > To: Fred Bohle > Cc: James Lacey; http-wg > Subject: Re: Of HTTP/1.1 persistent connections and TCP > Keepalive timers > > > > I stand corrected. But then, why was Content-Length added in > HTTP/1.0 and > Tranfer-Encoding: chunked in HTTP/1.1? > > -Carl > > > > "Fred Bohle" <fbohle@neonsys.com> on 11/02/2000 11:27:24 AM > > To: Carl Kugler/Boulder/IBM@IBMUS > cc: James Lacey <James.Lacey@Motorola.com>, http-wg > <http-wg@hplb.hpl.hp.com> > Subject: Re: Of HTTP/1.1 persistent connections and TCP > Keepalive timers > > > > > > > > Fred Bohle@NEON > 11/02/2000 12:27 PM > > > We seem to be diverging into TCP coding. A read will return zero > length > when the other end has issued a normal close (and all the > data has been > read). > A read will return -1 when the connection is ReSeT, or there is a > connection time-out > of any sort. So the server can too tell the difference > between end of data > and > a connection failure. > > Fred > > > > > From: Carl Kugler/Boulder/IBM <kugler@us.ibm.com> on > 11/02/2000 11:59 AM > > To: James Lacey <James.Lacey@Motorola.com> > cc: http-wg <http-wg@hplb.hpl.hp.com> > > Subject: Re: Of HTTP/1.1 persistent connections and TCP > Keepalive timers > > > ... > > > >For example, suppose the server sends back an HTTP response > to the client > >that does not have a Content-Length: header field and that it is not > >chunked. > > > >Then the only way the client knows that it has read the > >entire response off of the pipe is when the server closes > the connection. > >When the server closes the connection the client will receive a > >zero-byte read which is socket layer's indication that the pipe > >is broken. > > > This is not good. If this is the server's normal behavior, > the client has > no way to distinguish a dropped connection from end of file. > So the client > can never be sure it received an entire message. > > If this is the server's behavior for error conditions, this > is still not > good unless the server either waits for the entire request (could be a > humongous POST and/or a very slow connection), or only closes > one half of > the connection (which, BTW, is impossible in Java, except maybe in the > latest releases). Otherwise, the client might get a RST > while transmitting > the request, and will then never see the error response. > > ... > > > >I've done some snoops on browsers that are GETting HTML pages with > >lots of embedded links that are in the same realm as the > original HTML > >page. > > > >Despite this obvious opportunity to take advantage of persistent > connections > >the browser opens a connection for each subsequent GET. > > > I was looking at IE's (version 5 somthing) traffic yesterday, > and it seems > to send two requests per connection. > > > -Carl > > > > > > > > > >
Received on Sunday, 5 November 2000 09:17:13 UTC