Re: HTTP Session Extension draft

Jeff said:

>Statelessness does not imply efficiency.  Period.  Statelessness only
>affects the need to maintain state.

Yep.

>I have never seen a quantitative argument that statelessness improves
>efficiency of an HTTP server.  In fact, there is ample evidence to the
>contrary.  Statelessness costs us in CPU cycles, server memory, packets,
>and delay.

Er, sometimes.

>HTTP is stateless, as far as I can tell, because it was the simplest
>way to get something going, and the original designers didn't know
>any better.

No way.  I think you guys are confusing the statelessness of HTTP
with the non-persistence of the underlying transport implementation
on top of TCP.  HTTP is stateless because each request is an independent
entity that does not depend upon the state left over from any prior
request (the client may change its behavior based on prior requests,
but that's different).  Contrast this with FTP, where all commands are
relative to the prior state.  Even with the session extension, or
keep-alive, or whatever we want to call it, HTTP will remain a
stateless protocol.

As for the quip about the original designers, they did know better.
Closing the connection after each request made perfect sense (and
was the most efficient implementation) right up until <IMG src="...">
was created.  For the historians out there, that was almost two
years after the TCP implementation was designed and implemented.

The problem we face is that too much of HTTP/1.0 assumes that the
message ends when the connection closes.  So, we have to define
a transition to clearly delineated messages.  Now, if the WWW 
wasn't so damn popular, we'd have already done this by now.
But there's no sense crying over spilt bits, so we'll get it done
this month. [I didn't fly all the way out to the East Coast just
to fix the mailing lists...].

 ....Roy T. Fielding  Department of ICS, University of California, Irvine USA
                      Visiting Scholar, MIT/LCS + World-Wide Web Consortium
                      (fielding@w3.org)                (fielding@ics.uci.edu)

Received on Sunday, 9 July 1995 04:38:14 UTC