- From: Ben Niven-Jenkins <ben@niven-jenkins.co.uk>
- Date: Wed, 11 May 2011 08:16:25 +0100
- To: Willy Tarreau <w@1wt.eu>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>
Willy, On 11 May 2011, at 05:52, Willy Tarreau wrote: > On Wed, May 11, 2011 at 10:42:03AM +1200, Adrien de Croy wrote: >> >> that behaviour should be strongly discouraged. >> >> It will break on anything that >> >> a) re-chunks the data stream (e.g. due to nagling etc) >> b) spools data streams >> c) has plug-in filters that do things >> >> The client and server have to treat the entire message as the entire >> message. There's nothing can be guaranteed about the timing of parts of >> a message. To rely on such a thing is therefore worse than foolhardy, >> since it creates problems for intermediary implementors when the >> customer says "it works fine without the proxy", and creates pressures >> on intermediary implementors to compromise security and features to deal >> with a broken application. > > I'd suggest that we add something like this at the end of p1-3.3 > "Message Body" : > > Implementations MUST NOT rely on the ability to receive an incomplete > message body. Full or partial message buffering by intermediaries or > application servers, as well as re-chunking MAY impact user experience > (eg: progress bar sent at once, or streamed video starting when fully > transferred), but MUST NOT break the intended use. As such, applications > MUST NOT expect bessage bodies to be usable as a bidirectional stream > over which conversations are interleaved between the user-agent and the > origin server. Looks generally good but it's not clear (to me at least) what "MUST NOT break the intended use" refers to. Ben
Received on Wednesday, 11 May 2011 07:16:49 UTC