- 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