Re: Backwards compatibility

On Sat, Mar 31, 2012 at 01:46:15AM +0200, Mike Belshe wrote:
> >  Send the requests (yes, pipelined). If they come back without ids, then
> > they are coming back in the order they were sent. If they come back with
> > ids, then that tells you which response is which.
> 
> You can't do this until you've got confirmation that the server is going to
> give you a HTTP/1.1 response.  It could come back HTTP/1.0.
> 
> So do we first have to do a 1.1 request successfully (with 1.1 response)
> before we can ever attempt to do a pipelined upgrade?

When you get some time to check our draft, you'll see that by using
header compression we can actually achieve this in a different way :

  http://tools.ietf.org/id/draft-tarreau-httpbis-network-friendly-00.html#optim-rt

Using a low request overhead for HTTP/1.x-only implementations, we can
make an opportunistic pipelining attempt without pushing any data past
the first message. Requests ending on 1.1 gateways or servers will simply
not be pipelined, but when end-to-end is 2.0 then pipelining is OK. This
is a nice fast fallback in my opinion.

For having worked with a mobile operator and observed how RTTs are wasted
on each connection by not pipelining the first request, I would really not
want anything that still requires one RTT before pipelining, it simply
doubles the page load time.

Willy

Received on Saturday, 31 March 2012 07:25:06 UTC