W3C home > Mailing lists > Public > ietf-http-wg@w3.org > July to September 2012

Re: HTTP 2.0 and a Faster, more Mobile-friendly web

From: Amos Jeffries <squid3@treenet.co.nz>
Date: Mon, 30 Jul 2012 10:18:26 +1200
To: <ietf-http-wg@w3.org>
Message-ID: <83c188beec32a84626eb80284edf3ca9@treenet.co.nz>
On 30.07.2012 08:14, Henrik Frystyk Nielsen wrote:
> Dear All,
>
>
>
> We remain committed to the HTTP/2.0 standards process and look
> forward to seeing many of you this week at the IETF meeting in
> Vancouver to continue the discussion.  In the spirit of open
> discussion, we wanted to share some observations in advance of the
> meeting and share the latest progress from prototyping and testing.
>
>
>
> There are currently three different proposals that the group is
> working through:
>
>
>
>    * SPDY (http://tools.ietf.org/html/draft-mbelshe-httpbis-spdy),
>
>    * HTTP Speed+Mobility
> (http://tools.ietf.org/html/draft-montenegro-httpbis-speed-mobility),
>
>    * Network-Friendly HTTP Upgrade
> (http://tools.ietf.org/html/draft-tarreau-httpbis-network-friendly).
>
>
>
> The good news is that everyone involved wants to make the Web faster,
> more scalable, more secure, and more mobile-friendly, and each
> proposal has benefits in different areas that the discussion can
> choose from.
>
>
>
> --- A Genuinely Faster Web ---
>
>
>
> The SPDY proposal has been great for raising awareness of Web
> performance. It takes a "clean slate" approach to improving HTTP.
>
>
>
> To compare the performance of SPDY with HTTP/1.1 we have run tests
> comparing download times of several public web sites using a
> controlled tested study. The test uses publically available software
> run with mostly default configurations while applying all the
> currently available optimizations to HTTP/1.1. You can find a
> preliminary report on the test results here:
> http://research.microsoft.com/apps/pubs/?id=170059. The results 
> mirror
> other data 
> (http://www.guypo.com/technical/not-as-spdy-as-you-thought)
> that indicate mixed results with SPDY performance.
>
>
>
> Our results indicate almost equal performance between SPDY and
> HTTP/1.1 when one applies all the known optimizations to HTTP/1.1.
> SPDY's performance improvements are not consistent and significant. 
> We
> will continue our testing, and we welcome others to publish their
> results so that HTTP/2.0 can choose the best changes and deliver the
> best possible performance and scalability improvements compared to
> HTTP/1.1.
>
>
>
>
>
> --- Taking the Best from Each ---
>
>
>
> Speed is one of several areas of improvement. Currently, there's no
> clear consensus that any one of the proposals is the clear choice or
> even starting point for HTTP/2.0 (based on our reading the 
> Expressions
> of Interest and discussions on this mailing list. A good example of
> this is the vigorous discussion around mandating TLS encryption
> (http://tools.ietf.org/html/rfc5246) for HTTP/2.0.
>
>
>
> We think a good approach for HTTP/2.0 is to take the best solution
> for each of these areas from each of the proposals.  This approach
> helps us focus the discussion for each area of the protocol. Of
> course, this approach would still allow the standard to benefit from
> the extensive knowledge gained from implementing existing proposals.
>
>
>
> We believe that the group can converge on consensus in the following
> areas, based on our reading of the Expressions of Interest, by
> starting from the different proposals.
>
>
>
> ------------------|------------------
>
> Area              | Opinion that
>
>                   | seems to prevail
>
> ------------------|------------------
>
> 1. Compression    | SPDY or Friendly
>
> ------------------|------------------
>
> 2. Multiplexing   | SPDY
>
> ------------------|------------------
>
> 3. Mandatory TLS  | Speed+Mobility
>
> ------------------|------------------
>
> 4. Negotiation    | Friendly or
>
>                   |   Speed+Mobility
>
> ------------------|------------------
>
> 5. Client Pull/   | Speed+Mobility
>
>       Server Push |
>
> ------------------|------------------
>
> 6. Flow Control   | SPDY
>
> ------------------|------------------
>
> 7. WebSockets     | Speed+Mobility
>
> ------------------|------------------
>
>
>
> Below, we discuss each HTTP/2.0 element and the current consensus
> that appears to be forming within the Working Group.
>

I question why SPDY is the only content from multiplexing? 
network-friendly was designed based on the SPDY multiplexing model with 
improvements for intermediary flow control in mind.

In light of the WG discussions since publishing network-friendly-00 we 
have alterations to the frames which should place it at as a stronger 
contender for:
  2 - better flow identification / control options.
  5 - client pull initiated with optional multiple responses (aka 
optional/negotiated server push),
  7 - WebSockets as extension frames. (also SPDY as extension frames).


>
> 1. Compression
>
>
>
> Compression is simple to conceptualize and implement, and it is
> important. Proxies and other boxes in the middle on today's Web often
> face problems with it. The HTTP/2.0 discussion has been rich but with
> little consensus.
>
> Though some studies suggest that SPDY's header compression approach
> shows promise, other studies show this compression to be 
> prohibitively
> onerous for intermediary devices. More information here would help us
> make sure we're making the Web faster and better.
>
>
>
> Also, an entire segment of implementers are not interested in
> compression as defined in SPDY.  That's a challenge because the 
> latest
> strawman for the working group charter
> 
> (http://lists.w3.org/Archives/Public/ietf-http-wg/2012JulSep/0784.html)
> states that the "resulting specification(s) are expected to be meet
> these goals for common existing deployments of HTTP; in particular,
> ... intermediation (by proxies, corporate firewalls, 'reverse' 
> proxies
> and Content Delivery Networks)."
>
>
>
> We think the SPDY or Friendly proposals is a good starting point for
> progress.
>
>
>
> 2. Multiplexing
>
>
>
> All three proposals define similar multiplexing models. We haven't
> had substantial discussion on the differences. This lack of 
> discussion
> suggests that there is rough consensus around the SPDY framing for
> multiplexing.
>
>
> We think that the SPDY proposal is a good starting point here and
> best captures the current consensus.
>
>
>
> 3. Mandating Always On TLS
>
>
>
> There is definitely no consensus to mandate TLS for all Web
> communication, but some major implementers have stated they will not
> to adopt HTTP/2.0 unless the working group supports a "TLS is
> mandatory" position. A very preliminary note from the chair
> 
> (http://lists.w3.org/Archives/Public/ietf-http-wg/2012JulSep/0601.html)
> states that there is a lack of consensus for mandating TLS.
>
>
>
> We think the Speed+Mobility proposal is a good starting point here as
> it provides options to turn TLS on (or not).
>

As does network-friendly, which has the ability to negotiate any 
feature in either client request frames or mid-stream interleaved 
control frames.



>
> 4. Negotiation
>
>
>
> Only two of the proposals actually discuss how different endpoints
> agree to use HTTP/2.0.
>
>
>
> (The SPDY proposal does not specify a negotiation method. Current
> prototype implementations use the TLS-NPN
> (http://tools.ietf.org/html/draft-agl-tls-nextprotoneg) extension.
> While the other proposals use HTTP Upgrade to negotiate HTTP/2.0, 
> some
> parties have expressed non-support for this method as well.)
>
>
>
> We think either of the Friendly or Speed+Mobility proposals is a good
> starting point because they are the only ones that have any language
> in this respect.
>
>
>
> 5. Client Pull and Server Push
>
>
>
> There are tradeoffs between a server push model and a client pull
> model. The main question is how to improve performance while
> respecting bandwidth and client caches.
>
>
>
> Server Push has not had the same level of implementation and
> experimentation as the other features in SPDY. More information here
> would help us make sure we're making the Web faster and better.
>
>
>
> We think the Speed+Mobility proposal is a good starting point here,
> suggesting that this issue may be better served in a separate 
> document
> rather than tied to the core HTTP/2.0 protocol.
>
>

Indeed. The point being that the framing model needs to be able to be 
used by a reasonable server-push even if the details of push flow 
control are omitted from the initial HTTP/2 spec.


>
> 6. Flow Control
>
>
>
> There has only been limited discussion in the HTTPbis working group
> on flow control. Flow Control offers a lot of opportunity make the 
> Web
> faster as well as to break it; for example, implementations need to
> figure out how to optimize for opposing goals (like throughput and
> responsiveness) at the same time.
>
>
>
> The current version of the SPDY proposal specifies a flow control
> message with many settings are that are not well-defined. The
> Speed+Mobilty proposal has a simplified flow control model based on
> certain assumptions. More experimentation and information here would
> help us make sure we're making the Web faster and better.
>
>
>
> We think that the SPDY proposal is a good starting point here.
>
>
>
> 7. WebSockets
>
>
>
> We see support  for aligning HTTP/2.0 with a future version of
> WebSockets, as suggested in the introduction of the Speed+Mobility
> proposal.
>
>
>
> --- Moving forward ---
>
>
>
> We're excited for the Web to get faster, more stable, and more
> capable, and HTTP/2.0 is an important part of that.
>
>
>
> We believe that bringing together the best elements of the current
> SPDY, HTTP Speed+Mobility, and Network-Friendly HTTP Upgrade 
> proposals
> is the best approach to make that happen.
>
>

+1.

AYJ
Received on Sunday, 29 July 2012 22:18:54 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 29 July 2012 22:19:00 GMT