Re: Overhead of HTTP/2 Stream Management.

On Sun, Apr 05, 2015 at 04:55:04PM -0700, Max Bruce wrote:
> Each request adds a X-Req-ID to the headers as such:
> 
> GET / HTTP/1.1
> X-Req-ID: random-unique-per-connection-id
> other headers...
> 
> and the server responds...
> 
> HTTP/1.1 200 OK
> X-Req-ID: request-id-here
> X-Req-Target: /
> other headers...
> 
> BUT, can also respond twice or more for server pushing:
> 
> HTTP/1.1 200 OK
> X-Req-ID: -PUSH-
> X-Req-Target: /logo.png
> other headers...

But that doesn't work. You don't have multiplexed streams this way, just
full requests then full responses. Try to download two videos in parallel
and you'll have a full video and once completely downloaded, you'll get
the second one. What you are proposing here is just a very minor add-on
to what we were doing with HTTP/1, basically you allow the server to
respond out of order, that's all.

H2 supports multiple streams over the same TCP connection to limit the
buffer bloat issue, to reduce the connection counts, and to try to
conserve the TCP congestion windows. And it supports these streams
in *parallel*, yours are serialized.

Regards,
Willy

Received on Monday, 6 April 2015 00:16:41 UTC