httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Slemko <>
Subject Re: cvs commit: apache/htdocs/manual/misc fin_wait_2.html
Date Fri, 31 Jan 1997 00:14:50 GMT
On Thu, 30 Jan 1997, Jim Jagielski wrote:

> Roy T. Fielding wrote:
> > 
> > > The current docs strongly imply that without lingering_close, that
> > > PUTS and pipelining will not work. As I understand it, this is only
> > > true if there is an error in the transmission. In other words, the
> > > method that Apache uses without lingering_close/SO_LINGER does
> > > work correctly as long as there is no error in the transfer.
> > 
> > Since the problem prevents you from knowing whether or not there
> > was an error in transmission versus an unauthorized request, I'd say
> > it doesn't work correctly.
> > 
> > > Shouldn't we mention that the use of l_c/SO_LINGER is to allow
> > > Apache to work correctly during these problem but are not specifically
> > > related to them working correctly?
> > > 
> > > Am I rambling??
> > 
> > Hard to tell -- I'd need to see the suggested change in wording.
> > 
> I'll work something up.... I guess the point I'm trying to make is
> that unless something goes wrong, there is no need for lingering_
> close and that Apache works just fine. If something does go wrong
> than without l_c() it's possible the client may be unaware whether
> there was an actuall transmission error or maybe something else.
> All it knows is that the connection closed but it does not know why.

Unless I'm crazy:

	- there is a keepalive connection in progress
	- the server times out so it closes the connection
	- before the close gets to the client, it tries to send
	  a new request.
	- when the new request (from the same connection, which the server
	  has now closed) arrives at the server, the connection is closed
	  there so it sends a RST.
	- the client gets an error, bad.

Unlikely?  Envision a keepalive timeout of 5 seconds.  Envision a user
looking at a web page.  Envision that user taking 5 seconds after
the last file transferred before clicking on a link on the same
server.  Boom, especially over dialin connections with relatively
high RTTs.

If the server doesn't timeout keepalive connections and if the
server _never_ closes the connection if there isn't an error, then
your statement holds.

View raw message