HTTP/2 (RFC7540) tree priorities exit (opt out) | Re: ENABLE ⇒ PROVIDE | Re: SETTINGS_PRIORITY_SCHEME | Re: Setting to disable HTTP/2 Priorities

Kari Hurtta <hurtta-ietf@elmme-mailer.org> Thu, 01 August 2019 04:43 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 3F5BD12013D for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 31 Jul 2019 21:43:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.201, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 t5-qXny20nWP for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 31 Jul 2019 21:43:39 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [IPv6:2603:400a:ffff:804:801e:34:0:38]) (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 9C211120139 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 31 Jul 2019 21:43:39 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ht2vA-000077-Js for ietf-http-wg-dist@listhub.w3.org; Thu, 01 Aug 2019 04:42:32 +0000
Resent-Date: Thu, 01 Aug 2019 04:42:32 +0000
Resent-Message-Id: <E1ht2vA-000077-Js@frink.w3.org>
Received: from mimas.w3.org ([2603:400a:ffff:804:801e:34:0:4f]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <khurtta@welho.com>) id 1ht2v7-00006F-Tg for ietf-http-wg@listhub.w3.org; Thu, 01 Aug 2019 04:42:29 +0000
Received: from welho-filter2.welho.com ([83.102.41.24]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <khurtta@welho.com>) id 1ht2v4-00024b-Ta for ietf-http-wg@w3.org; Thu, 01 Aug 2019 04:42:29 +0000
Received: from localhost (localhost [127.0.0.1]) by welho-filter2.welho.com (Postfix) with ESMTP id DCE65C3F2A; Thu, 1 Aug 2019 07:42:03 +0300 (EEST)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp3.welho.com ([IPv6:::ffff:83.102.41.86]) by localhost (welho-filter2.welho.com [::ffff:83.102.41.24]) (amavisd-new, port 10024) with ESMTP id 8XPGDTiEoGv6; Thu, 1 Aug 2019 07:42:02 +0300 (EEST)
Received: from kasvihuone.keh.iki.fi (89-27-39-95.bb.dnainternet.fi [89.27.39.95]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by welho-smtp3.welho.com (Postfix) with ESMTPS id B1E2E2308; Thu, 1 Aug 2019 07:41:52 +0300 (EEST)
In-Reply-To: <CALGR9oYEgBUvPBhYpQm2-JL1bk9cEN9LnKpwk9tv0YR2rj42HQ@mail.gmail.com>
References: <20190725191746.GB12596@ubuntu-dmitri> <20190730154809.BBE3412178@welho-filter1.welho.com> <CALGR9oZnKo1JXnxLiKp+04kJeT5Uek3BiCPq=XSq4dG4B3AUBA@mail.gmail.com> <CACweHNDChKtVBTzQGctxAFdgZydrOKt8a9oAKrYbbq1JKLFPNg@mail.gmail.com> <20190731180108.D385BC3F0A@welho-filter2.welho.com> <CALGR9oYEgBUvPBhYpQm2-JL1bk9cEN9LnKpwk9tv0YR2rj42HQ@mail.gmail.com>
To: Lucas Pardue <lucaspardue.24.7@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
Date: Thu, 01 Aug 2019 07:41:52 +0300
From: Kari Hurtta <hurtta-ietf@elmme-mailer.org>
CC: Kari Hurtta <hurtta-ietf@elmme-mailer.org>, Matthew Kerwin <matthew@kerwin.net.au>, HTTP Working Group <ietf-http-wg@w3.org>, Dmitri Tikhonov <dtikhonov@litespeedtech.com>, Brad Lassey <lassey@chromium.org>
X-Mailer: ELM [version ME+ 2.5 PLalpha50a]
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="UTF-8"
Message-Id: <20190801044203.DCE65C3F2A@welho-filter2.welho.com>
Received-SPF: none client-ip=83.102.41.24; envelope-from=khurtta@welho.com; helo=welho-filter2.welho.com
X-W3C-Hub-Spam-Status: No, score=-4.5
X-W3C-Hub-Spam-Report: AWL=0.892, BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.201, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001, W3C_AA=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1ht2v4-00024b-Ta baef5c5fd1ed349c8417f9afd67d9487
X-Original-To: ietf-http-wg@w3.org
Subject: HTTP/2 (RFC7540) tree priorities exit (opt out) | Re: ENABLE ⇒ PROVIDE | Re: SETTINGS_PRIORITY_SCHEME | Re: Setting to disable HTTP/2 Priorities
Archived-At: <https://www.w3.org/mid/20190801044203.DCE65C3F2A@welho-filter2.welho.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36903
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: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

> Thanks. Along that line of thinking, maybe its simpler just to represent
> this as an opt out flag? E.g. SETTINGS_RFC7540_PRIORITY_OPT_OUT which can
> only ever be a value of 1. By default H2 endpoints have opted in and they
> have a freedom to opt out. However, once they do so there are no take
> backs.
> 
> Lucas
> 
> P.s.the cynic in me would call this SETTINGS_PREXIT. An endpoint that
> invokes RFCticle 9050,  needs to select a new deal or crash out to WT(FIF)O
> priorities.
> 

If peer implements HTTP/2 (RFC7540) tree priorities but is willing
also to use other priority scheme, then either

 • HTTP/2 (RFC7540) tree priorities must be active until
   both peers have sent and received SETTINGS frame
   with HTTP/2 (RFC7540) tree priority opt out, 

or

 • peer needs delay sending SETTINGS frame with HTTP/2 (RFC7540) tree 
   priority opt out until it is received SETTINGS frame 
   which suggests some other priority scheme (or until server
   is received HTTP request with some other priority scheme).


So it is important to consider how selecting some other priority scheme
and opting out HTTP/2 (RFC7540) tree priorities interacts.



I notice that SETTINGS parameter, which suggests of some other priority scheme 
( or set of schemes), work as HTTP/2 (RFC7540) tree priority opt
out IF initial value for that SETTINGS parameter is allowed to be unset.

So SETTINGS_PRIORITY_MASK which I mentioned on other post may
work if it's initial value is unset on HTTP/2 ( but 0 on HTTP/3).

On that case

HTTP/2 (RFC7540) tree priorities are active until peer
is sent AND received SETTINGS frame with SETTINGS_PRIORITY_MASK
parameter.

So to crash out to WT(FIF)O priorities is sending SETTINGS frame with
SETTINGS_PRIORITY_MASK value 0 (and receiving SETTINGS frame with
any SETTINGS_PRIORITY_MASK value).


In that case HTTP/2 (RFC7540) tree priorities also remain active
if either peer does not implement SETTINGS_PRIORITY_MASK parameter.

( Assuming that HTTP/2 (RFC7540) tree priorities are implemented. )

I do not know can initial value for some SETTINGS paramater to be
considered unset where unset is special meaning.


If SETTINGS_PRIORITY_MASKS can not have initial unset value but 
it's value is allowed to include bit for HTTP/2 tree priorities,
it also works. In that case initial value on HTTP/2 for
SETTINGS_PRIORITY_MASKS includes only bit for HTTP/2 tree priorites.

Calculating of new available priority scheme set must be delayed
until SETTINGS frame with SETTINGS_PRIORITY_MASKS paramater
is sent AND received.

/ Kari Hurtta