- From: Brian Pane <brianp@brianp.net>
- Date: Wed, 29 Feb 2012 19:52:04 -0800
- To: ietf-http-wg@w3.org
On Wed, Feb 29, 2012 at 5:40 PM, Amos Jeffries <squid3@treenet.co.nz> wrote: > On 01.03.2012 13:39, Mike Belshe wrote: >> >> If the protocol is allowed to be slower than HTTP/1.1, then you could do >> this. But, a lot of server operators that care about performance aren't >> going to want to take that hit. > > > That is what bothers me about all the arguments against Upgrade: based on > extra RTT and lag. > > today: HTTP/1.1 request + HTTP/1.1 response == 1 RTT > > versus > > tomorrow: HTTP/1.1 request /w Upgrade header + XYZ response /w 200 status > prefix == 1 RTT I use a different comparison: HTTP/1.1 today: TCP handshake: 1 RTT HTTP/1.1 request for resource 1: 1 RTT Total == 2 RTT ...meanwhile, the same thing happens on m-1 other connections that the browser is using in parallel HTTP/1.1 with Upgrade to 2.0: TCP handshake: 1 RTT HTTP/1.1. request for resource 1: 1 RTT HTTP/2.0 requests for resources 2, ..., n-1, n: 1 RTT Total == 3 RTT More generally, the minimum number of round trips to fetch n small objects in current HTTP/1.1 usage is: 1+ CEILING(n/m) RTT where m is the number of concurrent connections the client uses (typically 6 or 8 for current-generation browsers.) If a client used an initial HTTP/1.1 request to negotiate an upgrade to HTTP/2.0, the minimum number of round trips would be: 2 + n For n<=2*m, the Upgrade-based approach would mean more round trips than are required today. The Upgrade approach also would require more round trips than current SPDY usage: SPDY today: TCP handshake: 1 RTT TLS handshake, including NPN: 2 RTT SPDY requests for resources 1, 2, ..., n-1, n: 1 RTT Total = n resources in 4 RTT Initial HTTP/1.1 request + Upgrade: TCP handshake: 1 RTT TLS handshake: 2 RTT HTTP/1.1 request w/Upgrade + response x/ 200 status: 1 RTT SPDY requests for resources 2, ..., n-1, n = 1 RTT Total = n resources in 5 RTT In terms of sending an initial HTTP/1.1 request to upgrade to HTTP/2.0 looks like a step backwards compared to current deployments of both HTTP/1.1 and SPDY. -Brian
Received on Thursday, 1 March 2012 03:52:32 UTC