HTTP response version, again

I still consider the question unresolved as to what version an HTTP/1.x
server should return for an HTTP/1.0 request.  I claim the draft
(section 6.1) does not specify it:
    "The first line of a Response message is the Status-Line,
    consisting of the protocol version followed by ..."

To review (minus the pros and cons), the issue is whether the server
should return (1) HTTP/1.0 (the version of the request) or (2) HTTP/1.1
(the version the server software understands).  The concern people have
expressed is that in the first case you could never determine whether a
server understands HTTP/1.1.

I favor case one.  Henrik Frystyk Nielsen has noted that clients should
begin to send HTTP/1.1 in their requests.  HTTP/1.1 servers would
respond in kind.  HTTP/1.0 servers (with two known exceptions)
generally respond to HTTP/1.1 requests with a response of HTTP/1.0.
We could also [hack] recommend as a convention that servers include
the protocol version that the server understands as a comment in the
Server: header.

My opinion notwithstanding, I offer wording for the two cases for
section 6.1, to follow the Status-Line syntax:

Case 1 (return HTTP/1.0 to HTTP/1.0 request):
The protocol version in the response MUST be the lesser of HTTP/1.1 and
the protocol version in the request.  The headers in the response MUST
be consistent with the protocol version in the response.

Case 2 (return HTTP/1.1 to HTTP/1.0 request):
The protocol version in the response MUST be the greater of HTTP/1.1 and
the protocol version in the request.  The headers in the response MUST
be consistent with the protocol version in the request.

We need to agree on one case or the other and (I believe) to choose words
to add to the draft.

Dave Kristol

Received on Friday, 20 December 1996 14:35:11 UTC