Lynx as a HTTP/1.0 application (was Re: Call for compatibility testers)

On Sat, 17 Aug 1996, Roy T. Fielding wrote:

> >>There is a difference between being compatible with older versions
> >>of HTTP and being compatible with old browsers that do not implement
> >>any version of HTTP correctly.
> > 
[Koen Holtman <koen@win.tue.nl>:]
> > You obviously have strong opinions about lynx not being a HTTP/1.0
> > application, but these are not universally held.  If the conneg draft
> > would continue to use the 300 code (without providing an adequate
> > escape hatch) now that the lynx interoperability problems are known,
> > this would effectively encode your strong opinions in the spec.  I
> > don't think that would be appropriate.
> 
> I don't see how any application which fails to interpret a response
> simply because it doesn't understand a valid response code (a field which
> is and has always been extensible, and thus always intended to result in
> new codes being unrecognized by older applications) can be considered a
> valid implementation of HTTP/1.0.  It is a bug which needs to be fixed.
> HTTP cannot be concerned about such bugwards-compatibility simply because
> it is impossible to extend HTTP at all if we don't assume some minimal
> level of functionality of the part of the applications.  Implementations
> do need to be concerned with such bugwards-compatibility, but they do
> so by means already established by the protocol (User-Agent and Server
> identification and avoidance), not by changing the protocol every time
> somebody implements it wrong.

This has very recently been fixed in the latest Lynx code.
It would be helpful if readers of this lists who think a browser
is not "a valid implemetation of HTTP/1.0" would share that opinion
with the developers in the form of bug reports - in the case of Lynx,
send them to <URL:mailto:lynx-dev@sig.net>.  If it's not known, it can't
be fixed.
 
> > [...]
> >>  The only correct way to deal with such browsers is to
> >>exclude them on the basis of their User Agent field, 
> > 
> > Using this compatibility hack would be very expensive; you would have
> > to disallow proxies from ever sending a cached list (300) response to
> > a non-negotiating user agent, which means that you will have to handle
> > all these requests yourself.  

No server will have to special-case Lynx for this purpose, at least
if the version in the User-Agent is Lynx/2.6 or greater...

  Klaus

Received on Monday, 19 August 1996 09:48:00 UTC