New section for Host

As discussed during the LA meeting, we need a stronger definition
for the Host header field in 1.1.  The following is what I propose
to be the new definition.  Unfortunately, I will be off-net at a
conference until Thursday, but this should be carefully reviewed
right now.

 ...Roy T. Fielding
    Department of Information & Computer Science    (fielding@ics.uci.edu)
    University of California, Irvine, CA 92717-3425    fax:+1(714)824-4056
    http://www.ics.uci.edu/~fielding/
=====================================================================

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 is equivalent to
   a value of "host:80".  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.

Received on Saturday, 16 March 1996 00:10:20 UTC