Re: On the abuse of chunking for interactive usages

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