1. 26 Jan, 1998 6 commits
    • brian's avatar
      PR: · 9c1665e0
      brian authored
      tsk tsk, randy.  Can't find this on covalent.net either.
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@80016 13f79535-47bb-0310-9956-ffa450edef68
      9c1665e0
    • brian's avatar
      PR: · 7b268e6f
      brian authored
      David Robinson's CGI specification is no longer available at this URL.  perhaps
      we should point at other CGI resources online?
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@80014 13f79535-47bb-0310-9956-ffa450edef68
      7b268e6f
    • brian's avatar
      PR: · 236446c6
      brian authored
      If SGI is going to break their links, I'm not about to go ferreting around
      their site looking for where they moved it to.  Since the other entry is
      generic for all OS's (or at least doesn't clearly state HOW it's related),
      I've removed the SGI entry.
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@80012 13f79535-47bb-0310-9956-ffa450edef68
      236446c6
    • brian's avatar
      PR: · 083f8444
      brian authored
      If SCO's going to break their links, I'm not going to go searching for where they
      moved it to.
      
      Cold and rainy and dark.
      ml" -->
      
      <H1 ALIGN="CENTER">Connections in the FIN_WAIT_2 state and Apache</H1>
      <OL>
      <LI><H2>What is the FIN_WAIT_2 state?</H2>
      Starting with the Apache 1.2 betas, people are reporting many more
      connections in the FIN_WAIT_2 state (as reported by
      <code>netstat</code>) than they saw using older versions.  When the
      server closes a TCP connection, it sends a packet with the FIN bit
      sent to the client, which then responds with a packet with the ACK bit
      set.  The client then sends a packet with the FIN bit set to the
      server, which responds with an ACK and the connection is closed.  The
      state that the connection is in during the period between when the
      server gets the ACK from the client and the server gets the FIN from
      the client is known as FIN_WAIT_2.  See the <A
      HREF="ftp://ds.internic.net/rfc/rfc793.txt">TCP RFC</A> for the
      technical details of the state transitions.<P>
      
      The FIN_WAIT_2 state is somewhat unusual in that there is no timeout
      defined in the standard for it.  This means that on many operating
      systems, a connection in the FIN_WAIT_2 state will stay around until
      the system is rebooted.  If the system does not have a timeout and
      too many FIN_WAIT_2 connections build up, it can fill up the space
      allocated for storing information about the connections and crash
      the kernel.  The connections in FIN_WAIT_2 do not tie up an httpd
      process.<P>
      
      <LI><H2>But why does it happen?</H2>
      
      There are numerous reasons for it happening, some of them may not
      yet be fully clear.  What is known follows.<P>
      
      <H3>Buggy clients and persistent connections</H3>
      
      Several clients have a bug which pops up when dealing with
      <A HREF="../keepalive.html">persistent connections</A> (aka keepalives).
      When the connection is idle and the server closes the connection
      (based on the <A HREF="../mod/core.html#keepalivetimeout">
      KeepAliveTimeout</A>), the client is programmed so that the client does
      not send back a FIN and ACK to the server.  This means that the
      connection stays in the FIN_WAIT_2 state until one of the following
      happens:<P>
      <UL>
              <LI>The client opens a new connection to the same or a different
                  site, which causes it to fully close the older connection on
                  that socket.
              <LI>The user exits the client, which on some (most?) clients
                  causes the OS to fully shutdown the connection.
              <LI>The FIN_WAIT_2 times out, on servers that have a timeout
                  for this state.
      </UL><P>
      If you are lucky, this means that the buggy client will fully close the
      connection and release the resources on your server.  However, there
      are some cases where the socket is never fully closed, such as a dialup
      client disconnecting from their provider before closing the client.
      In addition, a client might sit idle for days without making another
      connection, and thus may hold its end of the socket open for days
      even though it has no further use for it.
      <STRONG>This is a bug in the browser or in its operating system's
      TCP implementation.</STRONG>  <P>
      
      The clients on which this problem has been verified to exist:<P>
      <UL>
              <LI>Mozilla/3.01 (X11; I; FreeBSD 2.1.5-RELEASE i386)
              <LI>Mozilla/2.02 (X11; I; FreeBSD 2.1.5-RELEASE i386)
              <LI>Mozilla/3.01Gold (X11; I; SunOS 5.5 sun4m)
              <LI>MSIE 3.01 on the Macintosh
              <LI>MSIE 3.01 on Windows 95
      </UL><P>
      
      This does not appear to be a problem on:
      <UL>
              <LI>Mozilla/3.01 (Win95; I)
      </UL>
      <P>
      
      It is expected that many other clients have the same problem. What a
      client <STRONG>should do</STRONG> is periodically check its open
      socket(s) to see if they have been closed by the server, and close their
      side of the connection if the server has closed.  This check need /export/home/cvs/CVSROOT/cvsedit
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@80010 13f79535-47bb-0310-9956-ffa450edef68
      083f8444
    • brian's avatar
      PR: · 81467561
      brian authored
      Make all references complete.
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@80007 13f79535-47bb-0310-9956-ffa450edef68
      81467561
    • brian's avatar
      PR: · fba81e20
      brian authored
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@80005 13f79535-47bb-0310-9956-ffa450edef68
      fba81e20
  2. 25 Jan, 1998 8 commits
  3. 24 Jan, 1998 19 commits
  4. 23 Jan, 1998 4 commits
  5. 22 Jan, 1998 3 commits