- From: Dave Kristol <dmk@allegra.att.com>
- Date: Tue, 30 Apr 96 11:54:35 EDT
- To: swingard@spyglass.com
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
Steve Wingard <swingard@spyglass.com> wrote:
> At 02:28 PM 4/29/96 EDT, [dmk@allegra.att.com] wrote:
> >10.22 says:
> >
> > All Internet-based HTTP/1.1 servers MUST respond with a
> > 400 status code to any HTTP/1.1 request message which lacks a Host
> > header field.
> >
> >This conflicts with 5.1.2:
> >
> > If the absoluteURI form is
> > used, any Host request-header included with the request MUST be ignored.
>
> I don't see a conflict here. All 1.1 requests must contain a Host
> header. IF the request also contains an absoluteURI, the host
> information contained in it will take precedence over the information
> supplied in the Host header.
I admit it's fuzzy, but the second clause implies one could have
omitted Host. Changing "any" to "the" would make it more definite that
there has to have been one.
>
> >I think 5.1.2 has it right, in which case 10.22 should read:
> >
> > All Internet-based HTTP/1.1 servers MUST respond with a
> > 400 status code to any HTTP/1.1 request message that lacks both an
> > absoluteURI in the request line and a Host header field.
> >
>
> Then you've basically said that all HTTP 1.1 clients must generate only
> absoluteURIs in HTTP/1.1 requests, which contradicts the language
> in 5.1.2 that states
>
> 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.
There are four cases:
1. relativeURL, no Host
2. relativeURL, Host
3. absoluteURL, no Host
4. absoluteURL, Host
I'm trying to identify which require a 400 status code. I believe only
case 1 deserves it, which is what my suggested wording says. However,
the original words in 10.22 state that case 3 is also an error. I
don't think it should be.
Dave Kristol
Received on Tuesday, 30 April 1996 09:05:02 UTC