Re: connection reset by peer messages

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Tue, 05 May 1998 19:41:25 +0000

--MimeMultipartBoundary
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Chris Wedgwood wrote:

> I'm not sure if this is a valid thing for them to do (I looked
> at the HTTP specs and can't find the bit that says if your a shit
> server running on a shit OS your allowed to reset the connection
> where you loaded).

Yes, dropping a connection before sending a response is allowed. I have
some doubts on if it really is Squids responsibility to retry the
connection, of if it should be left to the client (prematurely closing
the client connection without any reply).

---- RFC2068, section 8.2 Message Transmission Requirements, page 47-48

   If an HTTP/1.1 client has not seen an HTTP/1.1 or later response from
   the server, it should assume that the server implements HTTP/1.0 or
   older and will not use the 100 (Continue) response. If in this case
   the client sees the connection close before receiving any status from
   the server, the client SHOULD retry the request. If the client does
   retry the request to this HTTP/1.0 server, it should use the
   following "binary exponential backoff" algorithm to be assured of
   obtaining a reliable response:

  1. Initiate a new connection to the server

  2. Transmit the request-headers

  3. Initialize a variable R to the estimated round-trip time to the
     server (e.g., based on the time it took to establish the
     connection), or to a constant value of 5 seconds if the round-trip
     time is not available.

  4. Compute T = R * (2**N), where N is the number of previous retries
     of this request.

  5. Wait either for an error response from the server, or for T seconds
     (whichever comes first)

  6. If no error response is received, after T seconds transmit the body
     of the request.

  7. If client sees that the connection is closed prematurely, repeat
     from step 1 until the request is accepted, an error response is
     received, or the user becomes impatient and terminates the retry
     process.

   No matter what the server version, if an error status is received,
   the client

  o MUST NOT continue and

  o MUST close the connection if it has not completed sending the
     message.

   An HTTP/1.1 (or later) client that sees the connection close after
   receiving a 100 (Continue) but before receiving any other status
   SHOULD retry the request, and need not wait for 100 (Continue)
   response (but MAY do so if this simplifies the implementation).
------------------------

Note: Netscape 3.01 does NOT implement this.

--MimeMultipartBoundary--
Received on Tue Jul 29 2003 - 13:15:49 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:11:46 MST