W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2011

Re: On the abuse of chunking for interactive usages

From: Willy Tarreau <w@1wt.eu>
Date: Wed, 11 May 2011 06:52:40 +0200
To: Adrien de Croy <adrien@qbik.com>
Cc: Brian Pane <brianp@brianp.net>, HTTP Working Group <ietf-http-wg@w3.org>
Message-ID: <20110511045240.GG32751@1wt.eu>
Hi Adrien,

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.

That's exactly what I experienced and what intermediary implementors are
used to see every day :-/

> just my 2c.  It will certainly break through WinGate, especially with AV 
> installed.

OK.

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.

Any opinion ?

Thanks,
Willy
Received on Wednesday, 11 May 2011 04:53:16 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 27 April 2012 06:51:40 GMT