Re: HTTP/1.2 stuff: try it out!

  > There's a slight syntactic difference between your implementation and the
  > one we've done between Spyglass and NCSA.  Just as an FYI: here's a copy of
  > a mail I sent recently which explains how our implementations work.  I'm
  > also exchanging mails with Alex Hopmann to try and resolve the syntactic
  > differences there as well.  Both your implementation and Alex's draft
  > specify a multipart response as an alternative to an accurate
  > Content-length.  That's fine -- we just have implemented it yet.
Okay, I changed my server to behave as below:
	http://www.research.att.com:8000/
  > 
  > --
  > 
  > Here's how current implementations work.  NCSA Mosaic 2.6, NCSA HTTPd 1.5,
  > and Enhanced Mosaic 2.1 all support this and interoperate together, and all
  > implementations were done independently.  We didn't share code with NCSA at all.
  > 
  > Information on the NCSA implementation is at 
  > http://hoohoo.ncsa.uiuc.edu/beta-1.5/
  > http://hoohoo.ncsa.uiuc.edu/beta-1.5/howto/KeepAlive.html
  > 
  > If the client wants the connection kept alive, it sends the following header
  > with its request:
  > 
  > Connection: Keep-Alive
I'll accept this from HTTP/1.0 clients.
  > 
  > If the server recognizes this and wants to leave the connection open, it
  > sends back:
  > 
  > Connection: Keep-Alive
I'll return this.
  > 
  > It may only send this header back if the it also sends back a Content-Length
  > header which the client may assume to be accurate.
Right.  My variant remains:  if it's CGI output and client says protocol
is HTTP/1.2, I'll chunk the output (Transfer-Encoding: chunked).
  > 
  > If the connection is left open, then the client may send more requests along
  > the same connection.  Any time the Connection: Keep-Alive header is sent and
  > received back, then the connection should stay open.
Okay.  But there's a potential problem here.  If the server sends the
response header, then encounters some kind of problem, it may be forced
to close the connection, thus "lying".
  > 
  > The NCSA 1.5 server implementation also sends back
  > 
  > Keep-Alive: timeout=n, max=m
I'll add this later.  Not there yet.
  > 
  > but Enhanced Mosaic 2.1 ignores these.

Dave Kristol

Received on Monday, 21 August 1995 10:05:29 UTC