httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Behlendorf <>
Subject Re: Broken clients
Date Sun, 21 Jul 1996 17:38:40 GMT

strstr(agent, "Mozilla/2") && strstr(agent, "Win95")

would appear to capture the right combination, sparing 
MSIE, maybe?

A more general solution: Alexei has hacked up for Organic a module which
sets environment variables (for use by CGI scripts, PHP, SSI's, whatever)
based on a regex match against the User-Agent header, i.e.

  BrowserMatch /Mozilla\/2/ plugins javascript

or whatever.  Right now it's like a switch statement - the first match is
the only one which can set env vars, so that if we need to have 30
different Browser lines we're not going through each regex test with each
web hit.  However, we could also probably throw in a different directive
which was processed on each hit, i.e.

  BrowserMatchAny /Mozilla\/2.*Win95/ brokenkeepalivetimeout
  BrowserMatchAny /Mozilla\/2/ brokenkeepaliveflushing
or whatever.  At this point, the keepalive code, when it makes its
decision whether to use keepalives, when to flush headers, etc., tests for
those environment variables.  The glory is that as the environment
changes, as the client marketshare changes and as new browsers come out
with similar bugs, we don't have to change the code.  People can tweak
this to whatever combination of speed vs. functionality they desire.

Obviously the speed of such a system is a critical concern, seeing as how
this needs to happen right after the request is finished being received
and before any response is sent.  Maybe previous pattern match results can
be cached in shared memory in a hash table of some sort?  


On Sun, 21 Jul 1996, Chuck Murcko wrote:
> Yes, I know it does. Problem is, we won't run keepalives here at all unless
> we use this. I have observed the same problem with MSIE/Windoze95, but no
> one else in the group has.
> You're the only comment on this so far. I've been running this live for
> two days now without problems.
> In addition to MSIE, remember that it also disables keepalives for all the
> Netscape 2 versions that work (UNIX, Mac). People here don't consider
> these or MSIE a significant enough percentage of browsers in use to
> worry about the performance hit to them, though.
> I'm waiting on group consensus to commit this.
> Brian Behlendorf liltingly intones:
> > 
> > 
> > This also disables keep-alives for all versions of MSIE, by the way.  Is
> > this warranted?


View raw message