Re: Expect: 100-continue and proxies

On Fri, May 14, 2010 at 12:31:37PM -0700, Roy T. Fielding wrote:
> On May 14, 2010, at 3:11 AM, Joe Orton wrote:
> 
> > On Fri, May 14, 2010 at 11:52:24AM +0200, Henrik Nordström wrote:
> >> mån 2010-02-22 klockan 09:36 +0000 skrev Joe Orton:
> >> '
> >>> Ah, I wasn't clear here: httpd/mod_proxy will, given a request 
> >>> containing "Expect: 100-continue":
> >>> 
> >>> 1) send the request including the Expect header to the next hop
> >>> 2) generate and send a "100 Continue" to the client
> >> 
> >> 2 there is a clear violation. Intermediaries MUST NOT generate 1xx
> >> responses.
> > 
> > I can't find that explicit requirement in 2616; am I missing it, or 
> > should it simply be implied from the MUST requirement to forward Expect?
> 
> There is no such requirement.  Upgrade and 101 is hop-by-hop.
> A 100 message may be hop-by-hop if the intermediary has request
> storage capability -- requirements placed only on origin servers
> imply that all other servers are unconstrained, not that all
> other servers are MUST NOT.

If it is valid behaviour for the proxy to generate the "100" message, is 
the MUST condition for such a proxy to forward the Expect header 
unnecessary?  This was my original question in this thread; 8.2.3 says:

      - If a proxy receives a request that includes an Expect request-
        header field with the "100-continue" expectation, and the proxy
        either knows that the next-hop server complies with HTTP/1.1 or
        higher, or does not know the HTTP version of the next-hop
        server, it MUST forward the request, including the Expect header
        field.

Regards, Joe

Received on Sunday, 16 May 2010 21:57:07 UTC