- From: Henrik Frystyk Nielsen <frystyk@w3.org>
- Date: Thu, 15 Aug 1996 12:31:20 -0400
- To: msa@hemuli.tte.vtt.fi (Markku Savela)
- cc: www-lib@w3.org, Howard@telemedicine.clh.ed.ac.uk, msa@msa.tte.vtt.fi
Markku Savela writes: > Which is in error? Is the server required to reply with HTTP/1.0, if it > doesn't recognize the HTTP/x.x? This is a bug in the gateway - the version of a HTTP application is the highest HTTP version number for which the application is compatible, in this case HTTP/1.0. In HTTP/1.1 there is a status code (505) saying that the server or proxy is not willing to reply to a message of the same major version number. However, HTTP/1.0 should normally not be affected by a HTTP/1.1 request. The compatibility model in HTTP is that all HTTP messages with the same major version number can be parsed by the same HTTP engine. It may not all make sense but then the default behavior is to ignore the content it not otherwise specified. > HTTP/1.0 spec takes great care to specify backwards compatibility, but > seems to fail in specifying "forward compatibility". Does it state > anywhere what a server should do if the request is for HTTP/x.y, where > x.y is higher than servers version? > > The section 3.1 (HTTP Version) of the HTTP 1.0 only spells out > requirements for the servers as > > HTTP/1.0 servers must: > > - recognize the format of the Request-Line for HTTP/0.9 and > HTTP/1.0 requests; > > - understand any valid request in the format of HTTP/0.9 or > HTTP/1.0; > > - respond appropriately with a message in the same protocol > version used by the client. No, this is not true. Servers and proxies/gatewys should respond with a version which is equivalent to the request if this version is lower or equal to the version of the server/proxy itself. It must not in any case repond with a version that is higher than it is capable of handling. This would be false information as the response then indicates that the server/proxy/gateway is capable of doing something it isn't. > Perhaps HTTP/1.1 and later will get this right. For now it seems that > we are stuck with the fact that when client asks HTTP/1.1, some > servers refuse to give back anything? Actually, it is quite simple - even for HTTP/1.0 applications - if they follow the rule above. Then it is always for the most advanced application to down grade to the level of the lowest version number. In practice, this may not be the case and it may lead to problems upgrading to HTTP/1.1 applications. -- Henrik Frystyk Nielsen, <frystyk@w3.org> World Wide Web Consortium, MIT/LCS NE43-356 545 Technology Square, Cambridge MA 02139, USA
Received on Thursday, 15 August 1996 12:32:18 UTC