Re: Extending HTTP/2 | Re: New Version Notification for draft-mcmanus-httpbis-h2-websockets-00.txt

Kazuho Oku <kazuhooku@gmail.com> Sun, 12 November 2017 00:36 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 (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BE93C128B88 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 11 Nov 2017 16:36:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.999
X-Spam-Level:
X-Spam-Status: No, score=-6.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 op34OCIIgCGE for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 11 Nov 2017 16:35:58 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BB7E212704A for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sat, 11 Nov 2017 16:35:58 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1eDg7v-0004Bm-Km for ietf-http-wg-dist@listhub.w3.org; Sun, 12 Nov 2017 00:27:55 +0000
Resent-Date: Sun, 12 Nov 2017 00:27:55 +0000
Resent-Message-Id: <E1eDg7v-0004Bm-Km@frink.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <kazuhooku@gmail.com>) id 1eDg7o-0004B6-MP for ietf-http-wg@listhub.w3.org; Sun, 12 Nov 2017 00:27:48 +0000
Received: from mail-pg0-f43.google.com ([74.125.83.43]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from <kazuhooku@gmail.com>) id 1eDg7n-0000te-Eq for ietf-http-wg@w3.org; Sun, 12 Nov 2017 00:27:48 +0000
Received: by mail-pg0-f43.google.com with SMTP id s2so10078385pge.10 for <ietf-http-wg@w3.org>; Sat, 11 Nov 2017 16:27:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=dagVERJdme3G63TF7eFJQXD5wpVXrAMRY+IG49Pdu1Q=; b=MJ4wYB08EklbsvCmltwPYde1PV4NURZt/Vwr2xF+UteVyhcXFG2oW3lIAeUo8GafjE YzaZG88esiRy92zbC1JbIA45rMqikaRFH8uallK+8RIZI2iI8L+8i+uY4r1xopn9JqtN Ym5B9iIGdJ3igcc6ZeDcsZODuq6ZbJB0C63tCoaTY9QHZSbaZ3YSDijdIYtZ4PTQkJFM 0gBIWbe+X3c3bv4Fm41Rv1xTKwCMwHcDh7TBD4d/77T4TqeKdcMXDkrfg5CDZvdxPqhm qucUdJLOFbb17bjq/PoVevT792pdiY4XGTSW0dafOwjvo5SVYnVEkX2/kkv+YeeElwyl hbMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=dagVERJdme3G63TF7eFJQXD5wpVXrAMRY+IG49Pdu1Q=; b=jTsGcNbYE0Z6yixxhohGSqI0WEvlUkMqum2dVsm+l/P6QaxpikR5MYbcrb8HOnNYwn 1roJp6g+KwRS1ze31HJ6izUgi1meL3yOvM4+HEgSCCMMvQhOSQwsW/tFnhvm/GKQHi2k ylD5NkzdklhsYcelydR4CscP2u+Msl+xakvjN48qEcezoDzb69JfUBqvzsx5w2EkLDc/ nS7puJE6MOwkiy0/5ZHf44DOoybCO7tBjdIrsHNLEQzo/FdmT7loHlU4SCceF2CT31gp U0jjhHsjckGgR0+Ui/ZQod9bMPMXuBd6P5it9Wiq7OCwRuBw6G3eURLasIqVeXMOqM20 TOBg==
X-Gm-Message-State: AJaThX6GtHEnxfELq3ycc3TOhbX3AAh5is9BFfh3yXeWIxleY4pa0iiJ e9xK9VUoN57HSSu6FLrZ0riBg38uPS/e+1BAR7s=
X-Google-Smtp-Source: AGs4zMaN8RIDX5hR2SH6BZiPnomQXnR/tkZPO9fTj/XGMhDu551bJijq2e0yCaET3kd5j8cCME087OwYVxN3E40RNZw=
X-Received: by 10.84.171.195 with SMTP id l61mr4667872plb.27.1510446445569; Sat, 11 Nov 2017 16:27:25 -0800 (PST)
MIME-Version: 1.0
Received: by 10.100.159.9 with HTTP; Sat, 11 Nov 2017 16:27:25 -0800 (PST)
In-Reply-To: <CAOdDvNp8Hqr+4vb+meojUVPpFHNky-4aesD0DArsNKHLr9QXeA@mail.gmail.com>
References: <CAOdDvNrTeZkeYybjcCmQnAK4zEmRSbL=7kBRxjPSo+ODsdVJyA@mail.gmail.com> <20171111210725.4A2D553719@welho-filter1.welho.com> <MWHPR08MB34720F4DE0B015DC46301636DA550@MWHPR08MB3472.namprd08.prod.outlook.com> <CAOdDvNp8Hqr+4vb+meojUVPpFHNky-4aesD0DArsNKHLr9QXeA@mail.gmail.com>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Sun, 12 Nov 2017 08:27:25 +0800
Message-ID: <CANatvzxJ4qyvT6e2qwTS7jPw3fUeBCTg3CVgqJ69rm0qyRAtqw@mail.gmail.com>
To: Patrick McManus <mcmanus@ducksong.com>
Cc: Mike Bishop <mbishop@evequefou.be>, Kari Hurtta <hurtta-ietf@elmme-mailer.org>, HTTP Working Group <ietf-http-wg@w3.org>, Cory Benfield <cory@lukasa.co.uk>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=74.125.83.43; envelope-from=kazuhooku@gmail.com; helo=mail-pg0-f43.google.com
X-W3C-Hub-Spam-Status: No, score=-5.5
X-W3C-Hub-Spam-Report: AWL=1.324, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1eDg7n-0000te-Eq 187c313cbddf83c6383d6063e13e90c5
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Extending HTTP/2 | Re: New Version Notification for draft-mcmanus-httpbis-h2-websockets-00.txt
Archived-At: <https://www.w3.org/mid/CANatvzxJ4qyvT6e2qwTS7jPw3fUeBCTg3CVgqJ69rm0qyRAtqw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/34765
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 now do not think that "upgrade" needs to be a pseudo header.

The reason I proposed having :upgrade: pseudo header was due to my
understanding that HTTP/2 prohibited hop-by-hop headers, and that we
are trying to revive the "upgrade" hop-by-hop header of HTTP/1 by
trying to implement Websocket (or a generic upgrade) on HTTP/2. It
seemed to me that defining it as an extraordinary header (i.e. pseudo
header) seemed to make sense.

But reconsidering this, I now believe that what we are trying to
define is an end-to-end upgrade of a stream. In H2WS, we use a
SETTINGS parameter for hop-by-hop negotiation.

So now, it seems to me that defining the header as an ordinary (i.e.
non-pseudo) header is fine.


2017-11-12 6:24 GMT+08:00 Patrick McManus <mcmanus@ducksong.com>:
> I'm with Mike. It also gives the rather more radical example of changing the
> layout of the HEADERS frame, which is not a manifestation of the enumerated
> mechanisms either and would certainly violate otherwise normative
> requirements of non-extended 7540.. the "limitations" it is referring to is
> fundamentally the need for opt-in for this kind of change - not a limitation
> against the change itself.
>
>
> On Sun, Nov 12, 2017 at 5:33 AM, Mike Bishop <mbishop@evequefou.be> wrote:
>>
>> "any aspect of the protocol" seems clear enough to me.  Though perhaps it
>> was an oversight not to have a registry for new pseudo-headers.
>>
>> -----Original Message-----
>> From: hurtta@[192.168.0.26] [mailto:hurtta@[192.168.0.26]] On Behalf Of
>> Kari Hurtta
>> Sent: Sunday, November 12, 2017 5:07 AM
>> To: HTTP Working Group <ietf-http-wg@w3.org>
>> Cc: Kari Hurtta <hurtta-ietf@elmme-mailer.org>; Patrick McManus
>> <mcmanus@ducksong.com>; Cory Benfield <cory@lukasa.co.uk>
>> Subject: Extending HTTP/2 | Re: New Version Notification for
>> draft-mcmanus-httpbis-h2-websockets-00.txt
>>
>> >> Doesn’t the introduction of a new pseudo-header field violate RFC
>> >> 7540 Section 8.1.2.1, which says endpoints MUST NOT generate new
>> >> pseudo-header fields?
>> >>
>> >> Or is the position that that MUST NOT implicitly applies only if
>> >> there are no negotiated extensions in use?
>> >>
>> >>
>> >right - negotiating an extension via 7540 section 5.5 is an opt-in
>> >procedure that lets you do just about anything you agree to..
>>
>> I note that new pseudo-headers are not mentioned.
>>
>> 5.5.  Extending HTTP/2
>> https://tools.ietf.org/html/rfc7540#section-5.5
>>
>> "   HTTP/2 permits extension of the protocol.  Within the limitations
>> "   described in this section, protocol extensions can be used to provide
>> "   additional services or alter any aspect of the protocol.  Extensions
>> "   are effective only within the scope of a single HTTP/2 connection.
>>
>> and
>>
>> "   Extensions are permitted to use new frame types (Section 4.1), new
>> "   settings (Section 6.5.2), or new error codes (Section 7).  Registries
>> "   are established for managing these extension points: frame types
>> "   (Section 11.2), settings (Section 11.3), and error codes
>> "   (Section 11.4).
>>
>> This makes unclear that extensions are permitted to use new pseudo header
>> fields or other elements mentioned on HTTP/2 which are not listed on here.
>>
>> Of course you can change anything by saying that specification updates RFC
>> 7540.
>>
>> / Kari Hurtta
>>
>



-- 
Kazuho Oku