100 Continue

There is a contradiction in section 8.2.4, in "Requirements for HTTP/1.1 
origin servers", between the 2nd bullet:

    .  An origin server SHOULD NOT send a 100 (Continue) response if the
       request message does not include an Expect request-header field
       with the "100-continue" expectation, and MUST NOT send a 100
       (Continue) response if such a request comes from an HTTP/1.0 (or
       earlier) client.

and 4 paragraphs further:

  For compatibility with RFC 2068, a server MAY send a 100 (Continue)
  status in response to an HTTP/1.1 PUT or POST request that does not
  include an Expect request-header field with the "100-continue"
  expectation. This exception, the purpose of which is to minimize any
  client processing delays associated with an undeclared wait for 100
  (Continue) status, applies only to HTTP/1.1 requests, and not to
  requests with any other HTTP-version value.

To correct this, I propose to append the last paragraph to the 2nd bullet, 
like this:

    .  An origin server SHOULD NOT send a 100 (Continue) response if the
       request message does not include an Expect request-header field
       with the "100-continue" expectation, and MUST NOT send a 100
       (Continue) response if such a request comes from an HTTP/1.0 (or
       earlier) client. There is an exception to this rule, though: for
       compatibility with RFC 2068, a server MAY send a 100 (Continue)
       status in response to an HTTP/1.1 PUT or POST request that does not
       include an Expect request-header field with the "100-continue"
       expectation. This exception, the purpose of which is to minimize any
       client processing delays associated with an undeclared wait for 100
       (Continue) status, applies only to HTTP/1.1 requests, and not to
       requests with any other HTTP-version value.

Jean-Philippe Martin-Flatin

Received on Sunday, 14 June 1998 15:41:41 UTC