RE: http2-encoded-data

Mike Bishop <Michael.Bishop@microsoft.com> Mon, 06 July 2015 14:42 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@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 660F11B2A6D for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 6 Jul 2015 07:42:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.311
X-Spam-Level:
X-Spam-Status: No, score=-6.311 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_34=0.6, 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 yvxKOFHUxKtz for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 6 Jul 2015 07:42:15 -0700 (PDT)
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 12CEF1B2A24 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 6 Jul 2015 07:42:14 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ZC7Y7-0007Fl-3P for ietf-http-wg-dist@listhub.w3.org; Mon, 06 Jul 2015 14:39:11 +0000
Resent-Date: Mon, 06 Jul 2015 14:39:11 +0000
Resent-Message-Id: <E1ZC7Y7-0007Fl-3P@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <Michael.Bishop@microsoft.com>) id 1ZC7Y2-0007EP-PD for ietf-http-wg@listhub.w3.org; Mon, 06 Jul 2015 14:39:06 +0000
Received: from mail-bl2on0141.outbound.protection.outlook.com ([65.55.169.141] helo=na01-bl2-obe.outbound.protection.outlook.com) by lisa.w3.org with esmtps (TLS1.2:RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from <Michael.Bishop@microsoft.com>) id 1ZC7Y1-0005Un-3G for ietf-http-wg@w3.org; Mon, 06 Jul 2015 14:39:06 +0000
Received: from BL2PR03MB132.namprd03.prod.outlook.com (10.255.230.24) by BL2PR03MB129.namprd03.prod.outlook.com (10.255.230.20) with Microsoft SMTP Server (TLS) id 15.1.201.16; Mon, 6 Jul 2015 14:38:37 +0000
Received: from BL2PR03MB132.namprd03.prod.outlook.com ([169.254.13.220]) by BL2PR03MB132.namprd03.prod.outlook.com ([169.254.13.220]) with mapi id 15.01.0201.000; Mon, 6 Jul 2015 14:38:37 +0000
From: Mike Bishop <Michael.Bishop@microsoft.com>
To: Matthew Kerwin <matthew@kerwin.net.au>, Stefan Eissing <stefan.eissing@greenbytes.de>
CC: HTTP Working Group <ietf-http-wg@w3.org>
Thread-Topic: http2-encoded-data
Thread-Index: AQHQt8NLQFRUI2cRHEqEPO+/T6JG3p3OXYCAgAAkGMA=
Date: Mon, 06 Jul 2015 14:38:37 +0000
Message-ID: <BL2PR03MB1329332E730C289A623067687930@BL2PR03MB132.namprd03.prod.outlook.com>
References: <37CB606B-D349-40B4-9905-AD8939F03D79@greenbytes.de> <CACweHNBLPgdS-UmUPZi9dwRdaA-22KkERvcM8oKxspftUuJAyQ@mail.gmail.com>
In-Reply-To: <CACweHNBLPgdS-UmUPZi9dwRdaA-22KkERvcM8oKxspftUuJAyQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: kerwin.net.au; dkim=none (message not signed) header.d=none;
x-originating-ip: [2601:600:8300:56c:112:8177:71f9:f0c9]
x-microsoft-exchange-diagnostics: 1; BL2PR03MB129; 5:YbcOT+JDoBm0Gj0llBfFfg8bo6c0vFYOYtcLvZLVVRCcOpvhJvIX8mbtkle7igODv1QFBNLxnKlG7/PUI4R054NNquEQThO8vAR9NLeUK8VTZ7hBaOYIirihmsYidFwA+dkAFb8SI9dojvX9YR3OYQ==; 24:C4FCa1aVu36OfXSJU3kcv7uXyxrW8aOktUlDQFlstF9Qoi2Au6V5foubMVAOWp6VH77UThFpEc5OH9K7XqwGlb1IOU+6dqSNMu6lvxtYMd8=; 20:XyJkMs7RaZo750Es3BXifq5xvelcG/fCIZlt3eMyituPrlJtk+fKsHvVarsYTOK29OZpAItQA5V7vs3cqxNGjg==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB129;
x-microsoft-antispam-prvs: <BL2PR03MB1296EE3E1CD03311AC1764987930@BL2PR03MB129.namprd03.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(108003899814671);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401001)(5005006)(3002001); SRVR:BL2PR03MB129; BCL:0; PCL:0; RULEID:; SRVR:BL2PR03MB129;
x-forefront-prvs: 06290ECA9D
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(51914003)(479174004)(51704005)(377454003)(5001960100002)(5002640100001)(33656002)(230783001)(106116001)(189998001)(19625215002)(86612001)(5001770100001)(16236675004)(19300405004)(76576001)(2656002)(54356999)(46102003)(87936001)(86362001)(76176999)(50986999)(92566002)(5003600100002)(77156002)(122556002)(62966003)(2900100001)(19580395003)(102836002)(15975445007)(2950100001)(19580405001)(74316001)(19617315012)(40100003)(19609705001)(3826002); DIR:OUT; SFP:1102; SCL:1; SRVR:BL2PR03MB129; H:BL2PR03MB132.namprd03.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en;
Content-Type: multipart/alternative; boundary="_000_BL2PR03MB1329332E730C289A623067687930BL2PR03MB132namprd_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jul 2015 14:38:37.2771 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR03MB129
Received-SPF: pass client-ip=65.55.169.141; envelope-from=Michael.Bishop@microsoft.com; helo=na01-bl2-obe.outbound.protection.outlook.com
X-W3C-Hub-Spam-Status: No, score=-1.4
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_NW=0.5
X-W3C-Scan-Sig: lisa.w3.org 1ZC7Y1-0005Un-3G aae2e7bf6eef8ed845f6138ccc19a500
X-Original-To: ietf-http-wg@w3.org
Subject: RE: http2-encoded-data
Archived-At: <http://www.w3.org/mid/BL2PR03MB1329332E730C289A623067687930@BL2PR03MB132.namprd03.prod.outlook.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/29869
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>

When we were discussing extensions, the draft I originally proposed allocated a frame type to the transmission of frames with larger frame numbers and designated a portion of the (larger) frame space as experimental.  As part of the integration of the various extension methods with themselves and the core spec, it was pointed out that this could itself be an extension adopted by the WG if we started running short of frame types.  Since there aren’t many extensions yet, and not all of them define new frames, we haven’t needed to go there so far.  Using a string identifier might also be an option when we go to define that frame.

From: phluid61@gmail.com [mailto:phluid61@gmail.com] On Behalf Of Matthew Kerwin
Sent: Monday, July 6, 2015 5:23 AM
To: Stefan Eissing
Cc: HTTP Working Group
Subject: Re: http2-encoded-data


Thanks for the comments. My responses inline:

On 06/07/2015 6:10 PM, "Stefan Eissing" <stefan.eissing@greenbytes.de<mailto:stefan.eissing@greenbytes.de>> wrote:
>
> My comments re http://tools.ietf.org/html/draft-kerwin-http2-encoded-data-05:
>
> Should a client announcing support be prepared to receive DATA *and* GZIPPED_DATA frames for a single stream? There are two scenarios where I could see that happen:
> 1. The ACCEPT_GZIPPED_DATA is received while a stream's DATA is ongoing and the endpoint might want to switch
> 2. On a gzipped stream, small data chunks might arise that are not worth zipping. Can a server send them as DATA?
>

Yep, that's perfectly (and intentionally) acceptable. If it's not clear enough, I could add some words.

>
> More on the meta h2 level:
> - Allocating numbers from a small pool like frame types and error codes gets difficult when several parties are considering extending a protocol. Before safe numbers are allocated, experimental implementations need to exist which may later clash. String identifiers seem to have worked better in the past.
>
> A possible solution to this could be an X-FRAME that carries an identifier string in its payload. A playground until business gets serious and numbers are allocated in the protocol.
>

If you look at earlier versions, I originally made it a general 'encoded data' frame, with a registry of codings and TE-type negotiations. That would have reduced pressure on the frame type registry space when introducing other encodings. (If that happened.)

I dropped it back to just gzip because it seemed like that would cover 90% of what people would want from it, while being a whole lot simpler.

If an X-FRAME spec/draft existed I wouldn't be opposed to using it, but it doesn't, and I personally don't see enough need to warrant writing one myself.

>
> - Sometimes, extensions depend on each other. For an endpoint, it is much easier/safer/robust to receive and process extension capabilities in a package (i.e. single frame). Example: TLS extensions like SNI and ALPN have practical dependencies, as for servers protocol support may be configured per server. The answer to ALPN depends on the SNI. Receiving SNI+ALPN in one protocol "packet" makes processing more robust.
>

Indeed, the -05 revision was transitional; in -06 it uses a setting. <http://tools.ietf.org/html/draft-kerwin-http2-encoded-data-06>

>
> Cheers,
>
>   Stefan
>