- From: Jamie Lokier <jamie@shareable.org>
- Date: Fri, 4 Apr 2008 07:43:27 +0100
- To: Adrien de Croy <adrien@qbik.com>
- Cc: "Roy T. Fielding" <fielding@gbiv.com>, Mark Baker <distobj@acm.org>, HTTP Working Group <ietf-http-wg@w3.org>, google-gears-eng@googlegroups.com
Adrien de Croy wrote:
> 1: where the extension was semantically incompatible with the current 
> version of HTTP. 
> 2: where the extension was optional in the current version but for some 
> reason indispensable to the client.
...
> Version changes I think is a better way to cope with the first class of 
> use-cases.
That's assuming agents reject a message with a newer version number...
Since they don't reject expectations, I would be surprised if they
consistently reject newer version numbers.
> There's no difference between a chain of 
> agent->intermediary->server supporting a newer version number than 
> supporting an extension.  It's just a matter of labelling.
Well, in principle you can try extensions privately ("Expect:
x-my-experiment") and they can be orthogonal.  Version numbering
forces linearity: if you handle feature Z, you must handle feature X
and Y too.
Also, agents tend to report they are HTTP/1.1 even when they are
grossly non-compliant.  I suspect that's due to it being a version to
aim for, and they do support some features of 1.1, and reporting the
version is advantageous.  If expectations were able to be used, naming
individual features, I suspect agents wouldn't pretend to handle all
features.
In practice it seems there aren't that many "features" to be concerned
about.
Peculiar things like chunked requests have long been unusable.... I
guess they might have fitted into the scheme.
-- Jamie
Received on Friday, 4 April 2008 06:44:07 UTC