httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Koen Holtman <>
Subject Apache 1.3.4 <-> Lynx 2.[78] compatibility problem
Date Tue, 19 Jan 1999 20:15:32 GMT

James A. Treacy <> notified me of a compatibility
problem between the Apache 1.3.4 mod_negotiation and Lynx 2.7 and
higher.  Lynx has a protocol bug which causes it to interact badly
with the 1.3.4 mod_negotiation.  This bug has been present since Lynx
2.7, but only comes to the surface now that Apache implements
transparent content negotiation.

It turns out that lynx versions 2.7 and higher include the header
'negotiate: trans' in their requests.  This header (defined in
rfc2295) implies that the sender supports transparent content
negotiation, however lynx does not support transparent content
negotiation.  Apache 1.3.4 does, so for negotiated resources it sends
back the correct response for 'negotiate: trans', which always is a
300 response.

The end result for the Lynx user is that any GET on a negotiated page
returns a list of variants, never an actual variant, no matter which
Accept headers are configured.  This makes sites which use a lot of
negotiation extremely painful to use from Lynx.

Long term fix:

According to the relevant spec Lynx is wrong and Apache is right.
Lynx should be changed to not send 'negotiate: trans'.  According to a
Lynx change log I found (e.g. at the header is being
sent in an attempt to be compatible with some unspecified 1.1 servers,
but the header makes lynx incompatible with servers supporting
transparent content negotiation.

Any comments from Lynx developers?

Short term fix:

I can code up an Apache 'BrowserMatch' special case in mod_negotiation
to work around the Lynx bug.  From a recent browser statistics sample
I gather that Lynx users upgrade to a new version only very slowly, so
the 'short term' is at least a year.  I think that Lynx is important
enough to warrant the addition of a BrowserMatch.  In hits, Lynx has
only a tiny fraction of the browser market, but many people (including
me) use it as a fall-back in strange situations.

Any comments from Apache developers?


View raw message