On 08/24/2010 06:05 PM, Henrik Nordström wrote:
tis 2010-08-24 klockan 17:16 -0600 skrev Alex Rousskov:
RFC 2616 implies that we must forward 100-continue to HTTP/1.0 clients
that send Expect: 100-continue header
I know, and something I disagree with. HTTP/1.0 says:
9.1 Informational 1xx
This class of status code indicates a provisional response,
consisting only of the Status-Line and optional headers, and is
terminated by an empty line. HTTP/1.0 does not define any 1xx status
codes and they are not a valid response to a HTTP/1.0 request.
However, they may be useful for experimental applications which are
outside the scope of this specification.
Plus 7.2 Entity Body
All 1xx (informational), 204 (no content), and
304 (not modified) responses must not include a body.
which makes 1xx forwarding via a HTTP/1.0 proxy practically impossible.
I do not see what in the above language makes forwarding impossible, but
I do agree that many proxies, including HTTP/1.1 proxies do not
implement this forwarding correctly.
At the same time HTTP/1.0 says nothing about Expect or Via.
Result is very likely breakdown if there is an HTTP/1.0 proxy in the
path as thi to the HTTP/1.1 server is indistinguisible from an directly
connected HTTP/1.0 client using Expect: 100-continue.
Not sure we have discussed this on HTTPbis. Dropped a mail there now to
discuss this.
Please keep us posted, but I suspect that sooner or later we will learn
about an HTTP/1.0 client sending Expect regardless of HTTPbis actions.
Thus, we probably have to support both forwarding and dropping of 100
Continue. The drop_expect_100 option, if added, can be used to disable
currently-compliant behavior.
Thank you,
Alex.