Re: EDITS for Section 5 (Request) (Was: Re: 5.1.2 Request-URI)

"Roy T. Fielding" <fielding@avron.ICS.UCI.EDU> wrote:
  > > [I wrote]
  > > I believe this is too restrictive.  An HTTP/1.1 client may send an
  > > absoluteURI to what it knows to be an HTTP/1.1 origin server.
  > 
  > No, it cannot do so.  I have already explained that several times.
  > The decision was that we would require acceptance of absoluteURIs
  > so that it would be possible for HTTP/2.0 to use them on requests
  > without first determining the origin server version.
  > That does not change the fact that HTTP/1.x is forbidden from using
  > them on requests to an origin server.
You may have *stated* it several times, but I don't recall an explanation.
I see no harm in an HTTP/1.x, x>=1, client sending an absoluteURI to a
known HTTP/1.1 origin server.

Furthermore, I have assumed that HTTP/2.0 would not be ASCII-based, so
it doesn't make sense to talk about sending an absoluteURI to a 2.0
server.
  > 
  >   >> 5.3  The resource identified by a request
  > > [This is 9.2 in Jim's rev57 draft.]
  > > [...]
  > > Because Host is unconditionally required, I believe the rules should
  > > read this way:
  > > 
  > > 1) If there is no Host header field present in the request, the server
  > > MUST respond with a 400 (Bad Request) error message.
  > > 
  > > 2) If Request-URI is an absoluteURI, the host is included in the
  > > Request-URI.  The Host header field in the request is ignored.
  > > 
  > > 3) If the Request-URI is not an absoluteURI, the host is determined by
  > > the Host header field.
  > 
  > I don't.  The reason for the prior ordering is because it allows
  > existing HTTP/1.1 servers to act correctly upon receipt of a
  > absoluteURI without any Host (I don't care about what the spec requires
  > here -- it is a simple question of robust behavior given the possibility
  > that future versions of HTTP will send an absoluteURI and no Host).

As someone who is trying to implement a server, I certainly get very
different messages from you and from Jim Gettys.  I've been beat up
many times recently over this topic.  I agree it shouldn't be necessary
for the server to require Host, yet I'm told the server MUST respond
with an error.  Given that, here's no reason why the server can't send
an error in response to 1.1 requests, but not to 1.x, x>1, requests,
provided there's an absoluteURI.

Dave

Received on Thursday, 2 May 1996 09:51:25 UTC