- From: Jamie Lokier <jamie@shareable.org>
- Date: Wed, 21 Nov 2007 17:28:00 +0000
- To: Bjoern Hoehrmann <derhoermi@gmx.net>
- Cc: ietf-http-wg@w3.org
Bjoern Hoehrmann wrote: > Section "8.2.2 Monitoring Connections for Error Status Messages" has: > > An HTTP/1.1 (or later) client sending a message-body SHOULD monitor > the network connection for an error status while it is transmitting > the request. If the client sees an error status, it SHOULD > immediately cease transmitting the body. If the body is being sent > using a "chunked" encoding (section 3.6), a zero length chunk and > empty trailer MAY be used to prematurely mark the end of the message. > If the body was preceded by a Content-Length header, the client MUST > close the connection. > > This is somewhat confusing, it uses RFC 2119 keywords even though it > really just makes statements of fact (if you cease transmitting, you > cannot meaningfully maintain the connection) and it's unclear whether > clients may still send a non-empty trailer. Better would be e.g. > > A client sending a message-body SHOULD monitor the network connection > for an error status while it is transmitting the request. If the > client sees an error status, it SHOULD cease transmitting the body. > Unless the body is being sent using the "chunked" encoding the client > MUST close the connection. Both versions are confusing, and the second one is inconsistent with itself. First it says the client "SHOULD cease transmitting the body", i.e. not MUST, but then it says the client MUST close the connection unless it's chunked, unconditionally. This is not true: the client can keep the connection open, if there's a good reason not to follow the SHOULD, and send more messages. It should say: _If_ the client ceases transmitting the body, then ... -- Jamie
Received on Wednesday, 21 November 2007 16:17:16 UTC