- From: Greg Wilkins <gregw@intalio.com>
- Date: Thu, 22 May 2014 20:08:14 +0200
- To: HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAH_y2NE5NZ03UqJm07Omz6+si=rJKjQ84Gh4LHQppF=QPYWOCQ@mail.gmail.com>
Martin et al, I really see the problems and confusion in this thread as another example of the complexities and problems that result when you "conflate some of the stream control functions with the application semantics functions in the interests of efficiency." The definition of streams should be simple and robust and entirely independent of the semantics of the content of the streams. A stream should be defined to exist from the time it ID is first mentioned (either in a frame ID or a PP) until frames have been sent in both directions with an end frame bit set. Between those two events, the stream should be flow controlled regardless of content. Once you have robust multiplexed framing, then you can layer HTTP semantics on top of that. If a client wants to avoid the dispatch of its requests from being deferred, then it should just restrict it's headers to < the stream window size. I think the hpack tail is really wagging this protocol dog! Currently hpack is forcing this protocol to have a user accessible non flow controlled un-segmentable size unlimited meta data streams that has strict ordering criteria resulting in significant parallel slow down. Our experience with SPDY is that the vast majority of the speed up comes from avoiding round trips rather than compression. This means you need good multiplexing and good push mechanisms. Compression is worthwhile, but I suspect that 90% of the gains can be achieved with a far simpler algorithm that does not impose such onerous constraints on the framing. again apologies for giving these opinions late in the process. -- Greg Wilkins <gregw@intalio.com> http://eclipse.org/jetty HTTP, SPDY, Websocket server and client that scales http://www.webtide.com advice and support for jetty and cometd.
Received on Thursday, 22 May 2014 18:08:42 UTC