- From: <jg@w3.org>
- Date: Mon, 01 Apr 96 16:07:34 -0500
- To: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
I received a number of comments; thanks to all. Hopefully this now covers all the bases. Changes from draft indicated by ! and +. - Jim Gettys Add to section 5.1.2 Request-URI To allow for transition to absoluteURIs in all requests in future versions of HTTP, HTTP/1.1 servers must accept the absoluteURI form in requests, ! even though HTTP/1.1 clients will not normally generate them. ! Versions of HTTP after HTTP/1.1 may require absoluteURIs everywhere, ! after HTTP/1.1 or later have become the dominant implementations. Change the sentence: The absoluteURI form is only allowed when the request is being made to a proxy. To: The absoluteURI form is required when the request is being made to a proxy. The absoluteURI form is only allowed to an origin server if the client knows the server supports HTTP/1.1 or later. ! If the absoluteURI form is used, any Host request-header included ! with the request must be ignored. Add the following sentence to Section 8. Method Definitions: Note that the Host request-header field (Section 10.22) must accompany HTTP 1.1 requests. Replace the current 10.22 with the following: 10.22 Host The Host request-header field specifies the Internet host and port number of the resource being requested, as obtained from the original http URL (Section 3.2.2) given by the user or referring resource. The Host field value must represent the network location of the origin server or gateway given by the original http URL. This allows the origin server or gateway to differentiate between internally-ambiguous URLs (such as the root "/" URL of a server harboring multiple virtual hostnames). Host = "Host" ":" host [ ":" port ] ; see Section 3.2.2 ! A "host" without any trailing port information implies the default ! port for the service requested (e.g., "80" for an http URL). ! For example, a request on the origin server for <http://www.w3.org/pub/WWW/> must include: GET /pub/WWW/ HTTP/1.1 Host: www.w3.org The Host header field must be included in all HTTP/1.1 request messages on the Internet (i.e., on any message corresponding to a request for an http URL, as described in Section 3.2.2). If the Host field is not already present, an HTTP/1.1 proxy must add a Host field to the request message prior to forwarding it on the Internet. If an HTTP/1.1 request message lacking a Host header field is ! received via the Internet by an origin server or gateway, that server must respond with a 400 status code. ! (I eliminated the note that was in the draft, and added a list to Appendix D.) Add to Appendix D (Changes from HTTP/1.0: ! D.1 Changes to Simplify Multi-homed Web Servers and Conserve IP Addresses ! The requirements that clients and servers support the Host request-header, report an error if the Host request-header is missing from an HTTP/1.1 request (Section 10.22), ! and accept absolute URIs (Section 5.1.2) are among the most important changes from HTTP/1.0. ! In HTTP/1.0 there is a one-to-one relationship of IP addresses and servers. There is no other way to disambiguate the server of a request than the IP address of that request. This change to HTTP will allow the Internet, once HTTP/1.0 clients and servers are no longer common, to support multiple Web sites from a single IP address, greatly simplifying large operational Web ! servers sites, where allocation of many IP addresses to a single host has created serious problems. The Internet will also be able to recover the IP addresses that have been used for the sole purpose of allowing root-level domain names to be used in HTTP URLs. Given the rate of growth of the Web, and the number of servers already ! deployed, it is extremely important that implementations of HTTP/1.1 + correctly implement these new requirements: + o both clients and servers must support the Host request-header + o Host request-headers are required in HTTP 1.1 requests. + o servers must report an error if an HTTP/1.1 request does + not include a Host request-header + o servers must accept absolute URIs
Received on Monday, 1 April 1996 13:13:57 UTC