http-v11-spec-rev-03; proxy 100 (Continue) issue

In section 8.2.4, Requirements for HTTP/1.1 proxies, it says:

"- If the proxy knows that the version of the next-hop server is
HTTP/1.0 or lower, it MUST NOT forward the request, and it MUST respond
with a 417 (Expectation Failed) status."

The problem is with the normative MUSTs, which we think ought to be
at most normative SHOULDs (and perhaps this bullet should just be
removed).  The reasons are:
- There is no interoperability issue here, since if the version of the
  next-hop server is unknown, the request, including the Expect header
  field, MUST be forwarded, and the client needs to be able to (for
  compatibility reasons) time out waiting for the 100 (Continue) and
  send the body anyway.
- The likely behaviour of a client, in the case of recieving a 417 with
  out some reason (like a challenge for credentials), is to just retry
  without the Expect header, so the only effect is to increase latency.

Our proxy implementation currently will just generate a 100 (continue)
in this case.

I apologize for not catching this earlier (I checked and it goes at
least back to rev-01).


Also, in the same section, it says:

"Proxies SHOULD maintain a cache recording the HTTP version numbers
from recently-referenced next-hop servers."

This is not an interoperability issue either, and so we do not think
the "SHOULD" ought to be normative.  Perhaps it ought to be phrased as
an "encouragement", as advice to implementers is elsewhere.

Richard L. Gray
will code for chocolate

Received on Thursday, 26 March 1998 08:09:14 UTC