Re: RE-VERSION

On Sun, 10 Aug 1997, John Franks wrote:

> When the version number is really representing the "capability of the
> server" and is not equal to the version of the response, I have yet to
> see a concrete example of how it might be used, if neither client nor
> server is buggy and RFC 2145 is complied with.
> 
> I would like to hear of a SINGLE hypothetical or real example of how
> the response version header can be used when it is really representing
> "capability of the sender", that is, when the minor version number of
> the response is strictly greater than the minor version number of the
> request (so the response is of a version lower than the server is
> capable).  Such an example should assume any clients, servers and
> proxies involved are not buggy and are unconditionally compliant with
> RFC 2145.

Assume a client which is compliant with protocol version 1.N, and which
additionally implements some (but not all) features of protocol version
1.M where M > N. Assume further that the client wants to use a feature F
of 1.M which requires that the next-hop server is (at least) 1.M.  The
client cannot send HTTP/1.M in a request since it is not compliant with
1.M.  But once it has received a HTTP/1.M response from a server, it
will know that it can use F in communicating with that server.

A more concrete example, for N=0 and M=1:
A client implements HTTP/1.0 and in addition can do chunked *en*coding
according to HTTP 1.1.  In order to upload something with
"Transfer-Encoding: chunked", it first has to know that the server 
will understand it, and the only currently defined way how the client can
know this is through a HTTP/1.1 response.

Such an "enhanced 1.0" client will never *receive* chunked content from
a 1.1 server, but I believe that is an orthogonal issue.  A 1.1 server is
required to to able to receive and decode "chunked", whether the client
is 1.0 or 1.1.  (As it happens, for this example a client would have to
either violate the wording in RFC 1945 about content-length in requests or
send a meaningless content-length and violate a RFC 2068 requirement, but
there may be better examples where no such violation occurs.)


    Klaus 

Received on Sunday, 10 August 1997 15:18:00 UTC