Re: Comments on Extensible Prioritization Scheme for HTTP

Willy Tarreau <w@1wt.eu> Thu, 31 March 2022 14:07 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 9CA833A17E8 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 31 Mar 2022 07:07:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.66
X-Spam-Level:
X-Spam-Status: No, score=-2.66 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.248, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=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 exEJAX0MZq4W for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 31 Mar 2022 07:06:57 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (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 5FC873A11ED for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 31 Mar 2022 07:06:55 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1nZvPf-0001jF-7A for ietf-http-wg-dist@listhub.w3.org; Thu, 31 Mar 2022 14:04:35 +0000
Resent-Date: Thu, 31 Mar 2022 14:04:35 +0000
Resent-Message-Id: <E1nZvPf-0001jF-7A@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <w@1wt.eu>) id 1nZvPe-0001iH-CM for ietf-http-wg@listhub.w3.org; Thu, 31 Mar 2022 14:04:34 +0000
Received: from wtarreau.pck.nerim.net ([62.212.114.60] helo=1wt.eu) by mimas.w3.org with esmtp (Exim 4.92) (envelope-from <w@1wt.eu>) id 1nZvPc-0003Lp-SC for ietf-http-wg@w3.org; Thu, 31 Mar 2022 14:04:34 +0000
Received: (from willy@localhost) by pcw.home.local (8.15.2/8.15.2/Submit) id 22VE4FXU025169; Thu, 31 Mar 2022 16:04:15 +0200
Date: Thu, 31 Mar 2022 16:04:15 +0200
From: Willy Tarreau <w@1wt.eu>
To: Glenn Strauss <gs-lists-ietf-http-wg@gluelogic.com>
Cc: Lucas Pardue <lucaspardue.24.7@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>, Kazuho Oku <kazuhooku@gmail.com>
Message-ID: <20220331140415.GB25030@1wt.eu>
References: <YkU6IoXeg470P45G@xps13> <20220331070709.GE23808@1wt.eu> <YkWRelL/qO0qpzf3@xps13> <CALGR9oZsSVzw5XzPkGr7N30qyGVVKLJo7fd0_3tiRfzVuE4SLw@mail.gmail.com> <YkWwq0fAYDEK/XOM@xps13>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <YkWwq0fAYDEK/XOM@xps13>
User-Agent: Mutt/1.10.1 (2018-07-13)
Received-SPF: pass client-ip=62.212.114.60; envelope-from=w@1wt.eu; helo=1wt.eu
X-W3C-Hub-Spam-Status: No, score=-7.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, W3C_AA=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1nZvPc-0003Lp-SC c8f1732ef9ded9fa95484be647e63b34
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Comments on Extensible Prioritization Scheme for HTTP
Archived-At: <https://www.w3.org/mid/20220331140415.GB25030@1wt.eu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/39931
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>

On Thu, Mar 31, 2022 at 09:46:19AM -0400, Glenn Strauss wrote:
> On Thu, Mar 31, 2022 at 01:06:45PM +0100, Lucas Pardue wrote:
> > It's noble to want a pattern but I don't think we have enough examples of
> > HTTP/2 extensions at the IETF to form consensus on one.
> 
> My understanding is that communicating/negotiating feature support
> is among the raison d'être of HTTP/2 SETTINGS.
> 
> Communicating and negotiating features is not new.  For example, the
> *1977* RFC 731 for telnet has IAC WILL/IAC WONT and IAC DO/IAC DONT.
> 
> I believe that draft-ietf-httpbis-priority for PRIORITY_UPDATE has
> serious omissions in this regard -- communicating and negotiating
> use of the optional feature -- especially since the draft recognizes
> limitations of PRIORITY and proposes an alternative to provide
> substantially overlapping functionality.

But why do you see it different here ? The optional feature here is
to give up on a previously implied one. As such there's a setting
which says exactly this, "let's enable this optional feature that
allows us to agree on giving up the default implied behaviour".

>  For example:
> 
> https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-priority-12#section-2.1.1
> makes an assumption which I find incorrect.
> 
>    Similarly, if the client receives SETTINGS_NO_RFC7540_PRIORITIES with
>    value of 0 or if the settings parameter was absent, it SHOULD stop
>    sending PRIORITY_UPDATE frames (Section 7.1), since those frames are
>    likely to be ignored.

I'm personally not seeing a problem here. What it says is that if the
peer announces that it doesn't want to abandon the default behavior,
the one seeing this must respect this and not switch to the alternate
one.

> My server (lighttpd) parses and discards PRIORITY frames, but I am
> planning on implementing the coarser, but simpler, PRIORITY_UPDATE,
> as well as supporting the proposed HTTP request header Priority.
> draft-ietf-httpbis-priority does not currently provide a clean way
> to communicate server HTTP/2 support preference for PRIORITY_UPDATE, 
> but not PRIORITY, to the client.  Using HTTP/2 SETTINGS appears to
> me to be a simple and an appropriate place to communicate this.

Not very sure what you mean here. As a server, you'll likely adapt to
what the client presents, so if you see SETTINGS_NO_RFC7540_PRIORITIES
advertised by the client, you'll likely advertise it as well to indicate
your willingness to switch to PRIORITY_UPDATE, or am I missing something ?

Willy