Subject: Priorities I-D for Thursday HTTPbis meeting (Fwd: New Version Notification for draft-kazuho-httpbis-priority-04.txt)

From: Kazuho Oku <[email-masked]>
Date: Wed, 20 Nov 2019 20:04:54 +0800

Dear working groups members,

After the HTTPbis meeting on Monday, the priorities design team as well as
others have had discussions, and have converged on a particular design
(header-based, as well as allowing intermediaries to send frames to express
per-hop priorities).

We have submitted a new revision of the I-D that reflects the emerging
consensus, that clarifies more about the corner cases and how they should
be handled.

It can be found at:
https://tools.ietf.org/html/draft-kazuho-httpbis-priority-04
HTML version is:
https://kazuho.github.io/draft-kazuho-httpbis-priority/draft-kazuho-httpbis-priority.html

We have asked chairs to give us some time in tomorrow's HTTPbis meeting
that we can use to provide an update on the status.

We are looking forward to hearing your comments either face-to-face, or on
the mailing list.

Thank you in advance.

---------- Forwarded message ---------
From: <[email-masked]>
Date: 2019年11月20日(水) 19:53
Subject: New Version Notification for draft-kazuho-httpbis-priority-04.txt
To: Kazuho Oku <[email-masked]>, Lucas Pardue <
[email-masked]>

A new version of I-D, draft-kazuho-httpbis-priority-04.txt
has been successfully submitted by Kazuho Oku and posted to the
IETF repository.

Name:           draft-kazuho-httpbis-priority
Revision:       04
Title:          Extensible Prioritization Scheme for HTTP
Document date:  2019-11-20
Group:          Individual Submission
Pages:          20
URL:
https://www.ietf.org/internet-drafts/draft-kazuho-httpbis-priority-04.txt
Status:
https://datatracker.ietf.org/doc/draft-kazuho-httpbis-priority/
Htmlized:       https://tools.ietf.org/html/draft-kazuho-httpbis-priority-04
Htmlized:
https://datatracker.ietf.org/doc/html/draft-kazuho-httpbis-priority
Diff:
https://www.ietf.org/rfcdiff?url2=draft-kazuho-httpbis-priority-04

Abstract:
   This document describes a scheme for prioritizing HTTP responses.
   This scheme expresses the priority of each HTTP response using
   absolute values, rather than as a relative relationship between a
   group of HTTP responses.

   This document defines the Priority header field for communicating the
   initial priority in an HTTP version-independent manner, as well as
   HTTP/2 and HTTP/3 frames for reprioritizing the responses.  These
   share a common format structure that is designed to provide future
   extensibility.

Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

The IETF Secretariat

-- 
Kazuho Oku

---

From: Lucas Pardue <[email-masked]>
Date: Wed, 20 Nov 2019 19:18:34 +0000

Hi Mikkel,

To comment as a co-author but speaking only for myself:

On Wed, 20 Nov 2019, 20:57 Mikkel Fahnøe Jørgensen, <[email-masked]>
wrote:

> Looking forward to digging further into this.
>
> This is not a feedback in the actual design, only the document structure
> and presentation. While this may come across a bit negative, I’m really
> happy with simplifying the priority scheme of HTTP/2..
>
> Some quick observation when approaching the document initially. I writing
> this before having a full grasp of the concepts because that is the only
> time to provide a newcomer perspective.
>

Thanks for taking the time to review, fresh eyes are great.

> I think the document could be reorganised and much earlier specify how it
> achieves prioritisation and use less text (initially) on HTTP/2 by mere
> stating the the scheme can work with both HTTP/1, 2, 3 and possibly future
> versions while stating that special mechanisms can be used to opt-out of
> existing HTTP/2, and leave it at that.
>

I agree here. The present document is an amalgamation of several doc, this
has acted as a mechanism to support the design team and improve the
iteration seed. As a specification we can make improvements here, both in
structure and modularity.

> After reading 1/3 of document, I still have no clue how the priority
> scheme works (except I have some guess based on earlier ideas that have
> floatet) and I have had to deal with a lot of HTTP/2 legacy that I am not
> necessarily interested in. HTTP/3 doc has also move away from implicit
> HTTP/2 familiarity, at least last time I checked.
>

To reinterpret you point, I think that the concepts of urgency and
precedence would benefit from better description (issues #31[1] and
#32[2]). But I also wonder if you are saying that there is too much or too
little HTTP/2 specific/related content? Or am I missing out on your point
here?

> The document talks about intermediate hop reprioritisation without making
> clear what that is or what purpose it serves. I can only assume load
> balancers and reverse proxies. From a QUIC background that also leaves me
> wondering what that means - since each hop is necessarily also end to end,
> unless there is an extension wrapper frame, but that makes no sense.
>

The intent is to address the HTTP semantic layer but dip into HTTP
version-specifics where necessary. We rely on readers being familiar with
HTTP semantic concepts and terminology but can probably do a better job of
referencing. Since QUIC has no concept of priority, but the serialisation
of HTTP does and is ultimately coupled to the transport layer, it can be a
bit tricky to pick the subject. Happy to take some suggestions on specific
ways to improve here

> Once I got to the business end of the document, the document starts by
> telling which headers not send when it is not at all clear what those
> headers are about in th first place.
>
> It’s also confusing what a protocol specific frame means, or why it cannot
> all be done with HTTP headers.
>

It would help to point to a specific section or paragraph. RFC 7540 Section
8 and HTTP/3 draft 24 section 4.1 detail message exchanges - I don't
especially feel the need to duplicate text in this document but accept that
it might help to reference these in the text.

Cheers
Lucas