Re: Claification requested in Host:
Dave Kristol (dmk@research.bell-labs.com)
Fri, 14 Feb 97 14:04:01 EST
Dah Ming Chiu[SMTP:dahming.chiu@Eng.Sun.COM] (via jg@zorch.w3.org) wrote:
> Here is a HTTP 1.1 question for you. According to the spec 14.23, the
> Host field is defined as
> "Host" ":" host [ ":" port ]
> where (in 3.2.2), host is defined as
> <a legal Internet host domain name or IP address...>
>
> The question is whether a single component name consititute a "legal"
> Internet host domain name? For example, a user types in "foo" at his
> browser, which runs in domain "xyz.com". The browser is smart enough
> to assume the use wants to talk to "foo.xyz.com", and hence gets the
> correct IP address. But in the HTTP request, the browser sends
> Host : foo
> Does this browser conform to HTTP 1.1?
>
> If the answer is yes, there may be a problem with HTTP 1.1, since the
> ambiguous host name is not sufficient for virtual host implementation.
>
> I suspect the answer is no, in which case that browser is not conformant.
> Could make this point clear in your spec?
RFC 2068 also says:
The Host field value MUST represent the network location of the
origin server or gateway given by the original URL.
Therefore, my take on this is that, if the URL was
http://foo/bar/bletch
then
Host: foo
is correct. If we're in domain xyz.com, I could live with seeing
Host: foo.xyz.com
instead. What would not be acceptable, I think, is if "foo" is
an alias for abc(.xyz.com), and we get
Host: abc.xyz.com
or
Host: abc
That would defeat the whole point of Host, to allow virtual hosts.
Dave Kristol