Re: New Version Notification for draft-bishop-http2-extension-frames-01.txt

James M Snell <jasnell@gmail.com> Fri, 23 May 2014 13:02 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 (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D040F1A046B for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 23 May 2014 06:02:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.652
X-Spam-Level:
X-Spam-Status: No, score=-7.652 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.651, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] 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 i04q7QqQY9eU for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 23 May 2014 06:02:42 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 91F1C1A046D for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 23 May 2014 06:02:40 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1Wnp3o-0007yF-8F for ietf-http-wg-dist@listhub.w3.org; Fri, 23 May 2014 12:58:56 +0000
Resent-Date: Fri, 23 May 2014 12:58:56 +0000
Resent-Message-Id: <E1Wnp3o-0007yF-8F@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1Wnp3f-0007xW-4C for ietf-http-wg@listhub.w3.org; Fri, 23 May 2014 12:58:47 +0000
Received: from mail-wi0-f182.google.com ([209.85.212.182]) by lisa.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1Wnp3d-0005TD-Jq for ietf-http-wg@w3.org; Fri, 23 May 2014 12:58:47 +0000
Received: by mail-wi0-f182.google.com with SMTP id r20so814942wiv.9 for <ietf-http-wg@w3.org>; Fri, 23 May 2014 05:58:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=4D+nioBLsiM7plfUaLr6a6JoLtorhpP9hQ1tPzbZCSM=; b=ocbmekUS/s54QFhoMp80kcM8JfM2UNhJGtPKBJUYOg2fS37jmoK1kCg6ctU7jmWH5x QxwftWFvUth86FnHv1bUW0J9Pz1Fp/gLZzG/FmW1ULrY09dYLCHh52UeW637OwEdNdzc 1OvAtcZmBn7TJWBjFGO8ytlnMy3i3CQdHr9Pygg1s+jxPbALy9VnJsb8q8s4Of4u9fQ+ pEHMp4GEpzIuSw0FCgPDjIbdljk8HMfVX4EPlAuC9akjIbblexgppfYN+Zk6nEWAI4Dq BMhOYZ+fMn62+IMsFMjkdoNPm4cqySl6DW6xi7E9MaQBy2wFuwyXLs4jfFgV5wvHQQZR xZ/Q==
MIME-Version: 1.0
X-Received: by 10.194.206.2 with SMTP id lk2mr3953266wjc.33.1400849899189; Fri, 23 May 2014 05:58:19 -0700 (PDT)
Received: by 10.216.223.68 with HTTP; Fri, 23 May 2014 05:58:19 -0700 (PDT)
Received: by 10.216.223.68 with HTTP; Fri, 23 May 2014 05:58:19 -0700 (PDT)
In-Reply-To: <CACweHNCmY8BfH7kxKUFxT5yqJ2RGwotg-wrtc567DiE=GUjong@mail.gmail.com>
References: <20140522172435.21175.94088.idtracker@ietfa.amsl.com> <239431af5fe34e57a704ea52f84e1991@BL2PR03MB132.namprd03.prod.outlook.com> <CACweHNAbK+gz1T2q6jGqmTp8D6ELctA2HGXJD=ECFOuy-X8uqA@mail.gmail.com> <CAP+FsNeFRcBfDcQP+Oqh6WSnTcb9W-gjUirxxgjd3pKvW=--5A@mail.gmail.com> <CACweHNAD-RnawEMCJfBTDAAsrcV9NNUDSe8LwHw-1L_27EGkag@mail.gmail.com> <CABP7RbddCc=M69BrXSNz7p9pr-07RNs8+y8tvvubjTLLnUXgBA@mail.gmail.com> <d0e86ad11abf4d0d8780cf06926a8ea2@BL2PR03MB132.namprd03.prod.outlook.com> <CACweHNCmY8BfH7kxKUFxT5yqJ2RGwotg-wrtc567DiE=GUjong@mail.gmail.com>
Date: Fri, 23 May 2014 05:58:19 -0700
Message-ID: <CABP7RbfFzKCy9xUio=_JE207OK3fmvOV+v7FK8JwP9vw3cDLig@mail.gmail.com>
From: James M Snell <jasnell@gmail.com>
To: Matthew Kerwin <matthew@kerwin.net.au>
Cc: Mike Bishop <Michael.Bishop@microsoft.com>, Roberto Peon <grmocg@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="047d7b873de8a0001f04fa10c8c0"
Received-SPF: pass client-ip=209.85.212.182; envelope-from=jasnell@gmail.com; helo=mail-wi0-f182.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.717, 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: lisa.w3.org 1Wnp3d-0005TD-Jq 0fc9cdb57debaee292b894162c61e12e
X-Original-To: ietf-http-wg@w3.org
Subject: Re: New Version Notification for draft-bishop-http2-extension-frames-01.txt
Archived-At: <http://www.w3.org/mid/CABP7RbfFzKCy9xUio=_JE207OK3fmvOV+v7FK8JwP9vw3cDLig@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/23787
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>

I've discussed some of this before. One case involves more efficient
handling of multipart data as an alternative to MIME; another deals with
inserting incremental checksums into a long lived stream. I am also
exploring whether or not it will be possible to implement things like mqtt
efficiently and visibly as a sub protocol of http2 framing without being
forced to push it all into opaque data frames. I'm quite certain that these
cases aren't interesting to everyone, nor are they critical to the core of
http2, a good end to end extensibility model makes it possible for me to
experiment independently without having to worry so much about the
capabilities of the intermediary infrastructure.
On May 23, 2014 2:15 AM, "Matthew Kerwin" <matthew@kerwin.net.au> wrote:

>
> On 23 May 2014 15:26, Mike Bishop <Michael.Bishop@microsoft.com> wrote:
>
>>  My intermediate version said all extensions were hop-by-hop and
>> negotiated; end-to-end was added in response to James’ feedback.  The
>> requirement that extensions define how, if at all, they get translated to
>> back-end links that do/do not support the extension was the only end-to-end
>> version I had prior to that change.  I’m still ambivalent about that, but
>> if there’s a use-case, I’m not opposed.
>>
>>
> ​I'd be interested to know what James's extensions are.
> ​
>
>
>>  If we do allow end-to-end, though, I think they *have* to be silently
>> discardable -- because, as Matthew observes, there’s no chance to
>> negotiate.  If I can’t know what you’ll recognize, I can’t avoid sending
>> you something you won’t.
>>
>>
> ​Yeah, I agree, if they are allowed.​
>
>
>
>>  The only end-to-end extension I’ve currently thought of is the one that
>> was a sample in the previous version, Server Hint.  (Forget if that’s what
>> we actually called it.)  Basically, rather than actively pushing, it’s a
>> server-driven “You’ll want to check that these resources are in your cache
>> and current.” that works for when you suspect a client may already have a
>> resource, or the resource is hosted on another server.  There’s no harm if
>> an intermediary observes it going by and also freshens its cache, but the
>> intended recipient is the user agent.  But like Push, if the UA just drops
>> it, it will discover that it wants the resource a little later.
>>
>>
> ​Sounds to me like a HTTP header. In fact, it sounds like something in the
> Cache-Control family. Just because HTTP/2 does server push doesn't mean
> sending unsolicited information (call it hints, whatever) is limited ​to
> HTTP/2. HTTP/1.1 could definitely benefit from such an extension, if it was
> supported.
>
>
>
>>  As for hardening, Gabriel and I discussed that some.  Let’s say we’re
>> just talking about hop-by-hop:
>>
>>    - If we say you can’t send *any* extension frames until you’ve seen
>>    the other party’s EXTENSIONS, then you can’t use any in your first
>>    request.  That may be acceptable, but seems sub-optimal.
>>
>>
> ​​Could you move the EXTENSIONS frame to a settings parameter? A single
> settings frame could contain multiple such parameters, and settings are
> already mandatorily sent as soon as the connection is established, and
> they're acked.​
>
>
>>    - If we say you MUST NOT send even informative extensions once you’ve
>>    seen the other party’s EXTENSIONS and you know they haven’t requested it,
>>    how do you know when to
>>    ​
>>    ​
>>    enforce the MUST NOT?
>>
>>
> ​Start at time 0. I don't see why it should be a problem for an extension
> frame that may have caused a protocol error earlier to suddenly become
> legal.​
>
>
> Now we need an ACK for this too, or every connection begins ​with
>> SETTINGS-EXTENSIONS-PING to simulate one.  Plus, that means the server has
>> to maintain two different states -- one in which it permits unknown frames,
>> and one in which it doesn’t.
>>
>>
> Another reason to use a setting?
>
> --
>   Matthew Kerwin
>   http://matthew.kerwin.net.au/
>