W3C home > Mailing lists > Public > ietf-http-wg-old@w3.org > September to December 1996

Re: HTTP response version, again

From: Jeffrey Mogul <mogul@pa.dec.com>
Date: Fri, 20 Dec 96 17:20:48 PST
Message-Id: <9612210120.AA23032@acetes.pa.dec.com>
To: "Gregory J. Woodhouse" <gjw@wnetc.com>
Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
    The appropriate response to a request may well depend upon the
    version.

The request version, yes.

    For example, a chunked reply appropriate in response to a 1.1
    request but not a 1.0,

True

    and the HTTP/1.1 in the response header indicates which protocol
    version forms the basis of a response.

Not exactly.  You shouldn't send a response that looks like
	HTTP/1.0 206 Partial Content
because HTTP/1.0 doesn't define this code, although a reasonable
implementation (of *either* HTTP/1.1 or HTTP/1.0) would accept
this message anyway.  But you can send something that is fully
acceptable to an HTTP/1.0 client (one which isn't buggy, anyway)
with an HTTP/1.1 response version.  That's the way that the HTTP/1.1
protocol was designed, and if there are any cases where this is not
true, someone should describe the specifics.

The problem with chunked responses is solved not by playing games
with the response version number.  An HTTP/1.1 server should not
send a chunked response to an HTTP/1.0 request, but this is 100%
independent of the response version number.

    Similarly, for error reponses, if the version number is 1.1, then
    the response indicates that the request, considered as a 1.1
    request, resulted in an error condition. If the version in the
    reponse were 1.0, then tht would indicate that the request was
    treated as a 1.0 request.
    
No, the HTTP/1.1 specification was designed carefully to make this
unnecessary.  If a properly formed HTTP/1.0 request would lead to an
erroneous status code, this is true independent of whether the server
implements HTTP/1.0 or HTTP/1.1.

There is only one reason that one might want an HTTP/1.1 server
to respond to an HTTP/1.0 request with a version number of HTTP/1.0.
This would only be necessary if the client implementation is
excessively strict with respect to version numbers.  (I was going
to write "if the client implementation was buggy", but since all
HTTP/1.0 clients were written without the benefit of a formal
standard, I don't want to get into a pointless argument about what
constitutes a "bug").  In *all* other cases, there is no possible
harm if an HTTP/1.1 server always responds with that version.

-Jeff
Received on Friday, 20 December 1996 17:27:42 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 24 September 2003 06:32:19 EDT