Re: 10.22 Host

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