Re: RE-VERSION

On Tue, 12 Aug 1997, Roy T. Fielding wrote:

> >The response version of a response is 1.N provided
> >every HTTP header or footer in the response is defined in HTTP/1.N and
> >at least one header or footer in the response is not defined in
> >HTTP/1.(N-1).  For the purposes of this definition a header is
> >an HTTP header provided it is defined in HTTP/1.X for some X.
> 
> It sounds to me like you are trying to solve the PEP problem within
> a single version number, which simply doesn't work in HTTP.
> 
> There are hundreds of possible extensions that may require understanding
> on the part of the recipient...

I don't think what I have been saying is that difficult to understand.

An HTTP/1.1 application will frequently, but not always, send very
different messages in response to requests which have header versions
1.1, 1.2, 1.3, but which are otherwise identical.  I believe this is
the assumption of the spec authors because the current versioning
semantics is useless otherwise.  If a 1.1 application will always send
the same response to a 1.1, 1.2, or 1.3, etc. request, it has no need to
know whether the capabilites of the requestor are greater than 1.1.

However, I believe the most common case will be that a 1.1 application
will send identical responses to 1.1, 1.2 or 1.3 requests, if those
requests differ only in their version number.

There is currently no way for a 1.1 application to respond to a 1.2
request and say, "This is identical to the response I would have sent
to a 1.1 request," or "this is the response I send to 1.2 requests and
is not the same as I would send to an identical 1.1 request even
though I am a 1.1 application."

It is pointless to argue about how difficult it is for a server
to figure out this information, since it *must* figure it out to
function.

I think this information would be useful to communicate.  You can
certainly disagree with that, but I don't understand claims that it
does not exist.

Whether this information would aid proxy implementors is probably a
question best left to proxy implementors.  I believe that it would be
more important if applications were permitted to send requests for
lower versions than the application's version, which is a capability I
would like to see.

However, in my opinion, communicating this information would at the
very least improve robustness.  Even formally specifying this
information and clearly distinguishing it from the header version
(which could be given a more descriptive name) would prevent most of
the confusion that a number of implementors and participants on this
list (myself included) have apparently suffered.


John Franks 	Dept of Math. Northwestern University
		john@math.nwu.edu

Received on Wednesday, 13 August 1997 08:16:30 UTC