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

Amos Jeffries <squid3@treenet.co.nz> Sun, 29 July 2012 22:20 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9F15721F84B5 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 29 Jul 2012 15:20:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.866
X-Spam-Level:
X-Spam-Status: No, score=-9.866 tagged_above=-999 required=5 tests=[AWL=0.133, BAYES_00=-2.599, J_CHICKENPOX_57=0.6, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id M+39wVGc13XV for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 29 Jul 2012 15:20:00 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 50D7521F8442 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 29 Jul 2012 15:20:00 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1SvbpK-0002XA-NW for ietf-http-wg-dist@listhub.w3.org; Sun, 29 Jul 2012 22:19:06 +0000
Resent-Date: Sun, 29 Jul 2012 22:19:06 +0000
Resent-Message-Id: <E1SvbpK-0002XA-NW@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <squid3@treenet.co.nz>) id 1Svbp8-0002TE-Kl for ietf-http-wg@listhub.w3.org; Sun, 29 Jul 2012 22:18:54 +0000
Received: from ip-58-28-153-233.static-xdsl.xnet.co.nz ([58.28.153.233] helo=treenet.co.nz) by maggie.w3.org with esmtp (Exim 4.72) (envelope-from <squid3@treenet.co.nz>) id 1Svbp6-0006Jd-Db for ietf-http-wg@w3.org; Sun, 29 Jul 2012 22:18:54 +0000
Received: by treenet.co.nz (Postfix, from userid 33) id 1E0F5E6FCF; Mon, 30 Jul 2012 10:18:27 +1200 (NZST)
To: ietf-http-wg@w3.org
X-PHP-Originating-Script: 0:main.inc
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Date: Mon, 30 Jul 2012 10:18:26 +1200
From: Amos Jeffries <squid3@treenet.co.nz>
In-Reply-To: <723b83d47f93417290cca860e2925703@CH1PR03MB622.namprd03.prod.outlook.com>
References: <723b83d47f93417290cca860e2925703@CH1PR03MB622.namprd03.prod.outlook.com>
Message-ID: <83c188beec32a84626eb80284edf3ca9@treenet.co.nz>
X-Sender: squid3@treenet.co.nz
User-Agent: Roundcube Webmail/0.7.2
Received-SPF: pass client-ip=58.28.153.233; envelope-from=squid3@treenet.co.nz; helo=treenet.co.nz
X-W3C-Hub-Spam-Status: No, score=-1.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1Svbp6-0006Jd-Db 30887f80db25c880d8054f5f37d6ecd6
X-Original-To: ietf-http-wg@w3.org
Subject: Re: HTTP 2.0 and a Faster, more Mobile-friendly web
Archived-At: <http://www.w3.org/mid/83c188beec32a84626eb80284edf3ca9@treenet.co.nz>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/14810
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

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