Re: Design: Ignored Unknown Frame Types and Intermediaries
Roberto Peon <grmocg@gmail.com> Tue, 14 May 2013 18:09 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 2BA9121F8470 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 14 May 2013 11:09:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level:
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, 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 SL92bFUJ18W5 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 14 May 2013 11:08:58 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id D845821F90B3 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 14 May 2013 11:08:51 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UcJdC-0000AX-Rz for ietf-http-wg-dist@listhub.w3.org; Tue, 14 May 2013 18:07:22 +0000
Resent-Date: Tue, 14 May 2013 18:07:22 +0000
Resent-Message-Id: <E1UcJdC-0000AX-Rz@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <grmocg@gmail.com>) id 1UcJcz-00008I-Tf for ietf-http-wg@listhub.w3.org; Tue, 14 May 2013 18:07:09 +0000
Received: from mail-oa0-f47.google.com ([209.85.219.47]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <grmocg@gmail.com>) id 1UcJcy-0000by-GK for ietf-http-wg@w3.org; Tue, 14 May 2013 18:07:09 +0000
Received: by mail-oa0-f47.google.com with SMTP id m1so1015319oag.20 for <ietf-http-wg@w3.org>; Tue, 14 May 2013 11:06:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=HJybN5YDXEIBw8xdmNHt26Z8XEogOora8EO2yOC/Q4c=; b=FQHppJN9/fuwP7jtapHbnpUTVCny6eACOmJDe0QQjMeRFtbQe18k+lFNiSOTIeqUks TnJAYiDAgt/Xm3NQib4pnvDDaYt54eNIAJ4zp+9S1O0Mk0VKyWchuKfVyCOC/L0oQnLV B1avzJlsk1TwKUEbhvP/9flzi0OYZQR0d9wqkBnHfAuqX6aOtpCIYzfqxPKKua50YeBZ c70XJj34+Iq4TIjLlzgHc45+xhf+LBv/lphpknlSDLMmOT/t62tTPXCgfhIesUKdDA8C y//DDei08t9DjNKY74DhBDP4585RGsPbZLAvwQhmzIPGTpS9wgkIGcGZD1aZyqexfHLn dlHw==
MIME-Version: 1.0
X-Received: by 10.60.46.70 with SMTP id t6mr17365319oem.121.1368554802589; Tue, 14 May 2013 11:06:42 -0700 (PDT)
Received: by 10.76.130.139 with HTTP; Tue, 14 May 2013 11:06:42 -0700 (PDT)
In-Reply-To: <61600C9F-6871-4FA0-A0E7-D3F31D408E78@checkpoint.com>
References: <CABP7Rbfko48A0yAceDeHfQKR7S6aW7AAAqCZroaZzTScTooOvw@mail.gmail.com> <09C78900-966B-46B0-AB97-1394FD05849A@checkpoint.com> <CAP+FsNe2L2aZbDhM4OiWmh7b7f0HkrVfGwa6aKkD2ohNNKJHxg@mail.gmail.com> <2124BAB0-8FF1-4D6D-BBD8-F042B1EA5F7B@checkpoint.com> <CABP7Rbf+H=WarqFaV0UM5On-3FkYAspkC4OBzh1HE6EpQow94w@mail.gmail.com> <CAP+FsNd3260xnQG8JU3UQkkSwaVhVgwkDPPcR02W_W0q12+HFw@mail.gmail.com> <CABkgnnXJRHu_LsD+Fq9dTNi9Sqfmj0GQMBGO9QzZy6DCfxSJAQ@mail.gmail.com> <CAP+FsNdoZNOV2JxHgVHorp94QC0+KGOrYpVdi5FoZ8jAEsGd5g@mail.gmail.com> <CABP7Rbck4xCib9py+AqUHY=SgCoGz+Jw5-yLjzCFhQ_RbpLJQg@mail.gmail.com> <CAP+FsNcGYVwM3n3Vcttw-H8a3_vCrG5ysH-mTODBhFyioXcK6Q@mail.gmail.com> <DC5B5985-D15C-47EA-90B0-5AABF540BC04@checkpoint.com> <51923E87.9040505@panix.com> <61600C9F-6871-4FA0-A0E7-D3F31D408E78@checkpoint.com>
Date: Tue, 14 May 2013 11:06:42 -0700
Message-ID: <CAP+FsNfiuSdrDcTPsKJQxcayaB8mYh6aGAtN19EW+PgTFhmZsw@mail.gmail.com>
From: Roberto Peon <grmocg@gmail.com>
To: Yoav Nir <ynir@checkpoint.com>
Cc: Albert Lunde <atlunde@panix.com>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="089e01494972dd3b8304dcb17e98"
Received-SPF: pass client-ip=209.85.219.47; envelope-from=grmocg@gmail.com; helo=mail-oa0-f47.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.689, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UcJcy-0000by-GK eb03b0eab9dc31059457061ac0c8b100
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Design: Ignored Unknown Frame Types and Intermediaries
Archived-At: <http://www.w3.org/mid/CAP+FsNfiuSdrDcTPsKJQxcayaB8mYh6aGAtN19EW+PgTFhmZsw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17991
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>
Yoav-- I think of it even more simply than you describe in your example. We have standards-conformant versions of HTTP/2, which are well known. Then we have variations on these versions, which will have different identifying names, but at a minimum we'd have one *known* version, HTTP/2.0-experimental. Any server/proxy/client which allows that version to be negotiated is making a promise to pass along frames it doesn't recognize without modification. Later, perhaps some extensions become widely known and useful. At that point someone helpfully assigns a version of HTTP/2-0-pre-1, which now is expected to mean HTTP/2 plus whatever extensions. If we continue to do our job, assuming there is wide acceptance of those extensions, we'll get those extensions spec'd and get that version documented. -=R On Tue, May 14, 2013 at 7:36 AM, Yoav Nir <ynir@checkpoint.com> wrote: > > On May 14, 2013, at 4:39 PM, Albert Lunde <atlunde@panix.com> wrote: > > > On 5/14/2013 4:46 AM, Yoav Nir wrote: > >> But I agree that we should limit what non-version-changing extensions > >> are allowed to do. We should require that if the extension is either > >> ignored by the recipient or removed by a middlebox, no harm would be > >> done (except the new functionality not working) > > > > It's hard to tell if an extension may be safely ignored at the protocol > level. Would there be any use in having a "critical extension" bit, > indicating an extension frame that must not be silently dropped by > intermediaries or ignored by the destination server? > > > > I don't know. If you send a critical extension to an old(*) server, it's > going to reset the stream or the connection. If you send a critical > extension through an old firewall, it will reset your stream or connection, > so that the new extension would sometimes work and sometimes won't. > > Any proxy other than a firewall cannot tell whether the critical extension > is something that should affect it or not. So it has the choice of > resetting the stream (which goes against the design goal of such proxies to > be as transparent to the client as possible) or it could forward the frame, > which is equivalent to ignoring it. There is no way to know if it should > have changed its behavior because of that ignored frame. > > So you could have two bits, one as your described, and the other for > whether an intermediary can ignore it (similar to the ranges of types that > James suggested). But that assumes that whoever designs these extensions > knows about all the kinds of proxies that exist, and what is relevant for > them. > > We could have some kind of negotiation on extension capability in the > SETTINGS frame, and explicitly allow middleware to remove capabilities that > they don't support to prevent their use. But if we've gone to negotiate it > at the start, I can see Roberto's point that we might as well negotiate it > in version strings. > > Yoav > > (*) "old" means a server conforming to the base HTTP/2.0 specification >
- Design: Ignored Unknown Frame Types and Intermedi… James M Snell
- Re: Design: Ignored Unknown Frame Types and Inter… Yoav Nir
- Re: Design: Ignored Unknown Frame Types and Inter… Roberto Peon
- Re: Design: Ignored Unknown Frame Types and Inter… Yoav Nir
- Re: Design: Ignored Unknown Frame Types and Inter… James M Snell
- Re: Design: Ignored Unknown Frame Types and Inter… James M Snell
- Re: Design: Ignored Unknown Frame Types and Inter… Roberto Peon
- Re: Design: Ignored Unknown Frame Types and Inter… Martin Thomson
- Re: Design: Ignored Unknown Frame Types and Inter… James M Snell
- Re: Design: Ignored Unknown Frame Types and Inter… Roberto Peon
- Re: Design: Ignored Unknown Frame Types and Inter… James M Snell
- Re: Design: Ignored Unknown Frame Types and Inter… Roberto Peon
- Re: Design: Ignored Unknown Frame Types and Inter… Yoav Nir
- Re: Design: Ignored Unknown Frame Types and Inter… Albert Lunde
- Re: Design: Ignored Unknown Frame Types and Inter… Yoav Nir
- Re: Design: Ignored Unknown Frame Types and Inter… James M Snell
- Re: Design: Ignored Unknown Frame Types and Inter… Roberto Peon