Re: HTTP/2 extensibility <draft-ietf-httpbis-http2-17>

Ben Niven-Jenkins <ben@niven-jenkins.co.uk> Fri, 06 March 2015 00:52 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ietf.org@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 (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 402E91A909B for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 5 Mar 2015 16:52:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.912
X-Spam-Level:
X-Spam-Status: No, score=-6.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hjxA1pX38LpJ for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 5 Mar 2015 16:52:03 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AB3931A9095 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 5 Mar 2015 16:52:03 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1YTgQw-000506-Ck for ietf-http-wg-dist@listhub.w3.org; Fri, 06 Mar 2015 00:48:06 +0000
Resent-Date: Fri, 06 Mar 2015 00:48:06 +0000
Resent-Message-Id: <E1YTgQw-000506-Ck@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.80) (envelope-from <ben@niven-jenkins.co.uk>) id 1YTgQm-0004yX-OZ for ietf-http-wg@listhub.w3.org; Fri, 06 Mar 2015 00:47:56 +0000
Received: from mailex.mailcore.me ([94.136.40.61]) by lisa.w3.org with esmtp (Exim 4.72) (envelope-from <ben@niven-jenkins.co.uk>) id 1YTgQl-0003YW-Jn for ietf-http-wg@w3.org; Fri, 06 Mar 2015 00:47:56 +0000
Received: from dab-far1-h-1-2.dab.02.net ([82.132.220.222] helo=[172.20.10.4]) by smtp04.mailcore.me with esmtpa (Exim 4.80.1) (envelope-from <ben@niven-jenkins.co.uk>) id 1YTgQO-0007yS-LR; Fri, 06 Mar 2015 00:47:33 +0000
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\))
From: Ben Niven-Jenkins <ben@niven-jenkins.co.uk>
In-Reply-To: <201503051255.t25Ct8YK001645@bagheera.jungle.bt.co.uk>
Date: Fri, 06 Mar 2015 00:47:29 +0000
Cc: mbelshe@chromium.org, fenix@google.com, martin.thomson@gmail.com, ietf-http-wg@w3.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <4FD416D6-3346-43D5-BC5F-494D59B541E8@niven-jenkins.co.uk>
References: <201503051255.t25Ct8YK001645@bagheera.jungle.bt.co.uk>
To: Bob Briscoe <bob.briscoe@bt.com>
X-Mailer: Apple Mail (2.2070.6)
X-Mailcore-Auth: 9600544
X-Mailcore-Domain: 172912
Received-SPF: none client-ip=94.136.40.61; envelope-from=ben@niven-jenkins.co.uk; helo=mailex.mailcore.me
X-W3C-Hub-Spam-Status: No, score=-1.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, URIBL_BLOCKED=0.001
X-W3C-Scan-Sig: lisa.w3.org 1YTgQl-0003YW-Jn 674277db15864e4f68fb01f52f6f6e46
X-Original-To: ietf-http-wg@w3.org
Subject: Re: HTTP/2 extensibility <draft-ietf-httpbis-http2-17>
Archived-At: <http://www.w3.org/mid/4FD416D6-3346-43D5-BC5F-494D59B541E8@niven-jenkins.co.uk>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/28892
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>

Hi Bob,

> On 5 Mar 2015, at 12:55, Bob Briscoe <bob.briscoe@bt.com> wrote:
> For instance, a number of potential issues around DoS are left open.

Can you expand a bit more on what these DoS vectors might be or is it more of a general concern?

> If the protocol has to be hardened against new attacks, I believe the recommended extensibility path is to design and implement a completely new protocol release, then upgraded endpoints negotiate it during the initial handshake. The timescale for such a process is measured in years, during which the vulnerability has to be lived with. Surely we need more granular extensibility; to introduce new frame types and structures, and/or to deprecate outdated/vulnerable ones.

As Martin points out, I don't see how deployment of a new extension/frame type/etc is likely to be any faster than a new protocol release.

Anyway, if necessary there is nothing to stop a future RFC modifying the base behaviour without a new protocol release (along with all the complexities of backwards compatibility that go along with that) if that is what the WG decides to do at the time a vulnerability is discovered IMO.

Also as Martin points out dealing with the flexibility allowed by HTTP/1.1 is a royal PITA and leads to lots of extra rarely executed code paths to deal with the numerous corner cases.

> HTTP is important to us all. It has now become the only way to extend transport capabilities. The last thing we should do is build over the only pathway we have left with an evolutionary cul-de-sac.

I don't think HTTP/2.0 is perfect but for the use cases it addresses it is an improvement over HTTP/1.1. It'll be a long time (if ever) IMO before HTTP/2.0 completely supplants HTTP/1.1. In that time there is plenty of scope to evolve along a different path if that is what is required, so I don't see it as a cul-de-sac but merely one possible evolutionary path. Time will tell whether HTTP/2.0 becomes the dominant species or another evolution branches from HTTP/1.1 or HTTP/2.0 itself evolves.

Ben