HTTP/1.1 vs HTTP/1.0 servers

I am wondering what should be done about this. The new wwwlib library
sends by default the request as HTTP/1.1, and it seems that existing
servers and gateways have been coded rather strictly for 1.0 and
requests fail in various ways (see NCSA 1.5.2 or somesuch).

Now I run into another, a gateway to some database

	Trying ...
	Connected to hyperg.obg.ed.ac.uk.
	Escape character is '^]'.
	GET /home;sk=17062E7B HTTP/1.1

	HTTP/1.0 400 Wrong Protocol
	MIME-Version: 1.0
	Content-Type: text/html

	<HEAD><TITLE>Hyper-G W3 Gateway V 2.51: Error</TITLE></HEAD>
	<H1>Bad Request</H1><P>
	The request was 'GET /home;sk=17062E7B HTTP/1.1
	Connection closed by foreign host.

Which is in error? Is the server required to reply with HTTP/1.0, if it
doesn't recognize the HTTP/x.x?

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

	- respond appropriately with a message in the same protocol
	  version used by the client.

The last point seems actually wrong, in case of request HTTP/x.y being
higher than servers version, the reply should include servers version,
not the clients version. Perhaps the correct formatting should have

	- reply with version which ever is the lower from server and
	  client versions.

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?

Markku Savela (msa@hemuli.tte.vtt.fi),     Technical Research Centre of Finland
Multimedia Systems, P.O.Box 1203,FIN-02044 VTT,http://www.vtt.fi/tte/staff/msa/