Re: WGLC for HTTP Priorities

Hi Lucas,

On 15 Oct 2021, at 17:08, Lucas Pardue <lucaspardue.24.7@gmail.com<mailto:lucaspardue.24.7@gmail.com>> wrote:

Hi Piers,

Thanks for the feedback! Responses in line

On Fri, Oct 15, 2021 at 4:39 PM Piers O'Hanlon <piers.ohanlon@bbc.co.uk<mailto:piers.ohanlon@bbc.co.uk>> wrote:
Hi,

I had a few comments on the draft, but in general it seems fine.

Section 1:
- It might be useful to mention something to the effect of 'Expressing priority is only a suggestion’ as is later detailed in section 10.

This has been raised by some others too. We can do a better job of making that clear up front. Earlier today I already filed a PR to do that, please take a look https://github.com/httpwg/http-extensions/pull/1752

That text looks good.


Section 4:
"If intermediaries want to specify prioritization on a multiplexed HTTP connection, they SHOULD use a PRIORITY_UPDATE frame and SHOULD NOT change the Priority header field.”
- So an intermediary not using multiplexed HTTP can change the Priority header field?

 This sounds related to the issue on https://github.com/httpwg/http-extensions/issues/1715. Please take a look at this PR which touches the text to let us know if it addresses your question https://github.com/httpwg/http-extensions/pull/1735


Yes that’s removed the ambiguity.


Section 10:
- It could be useful to expand the PTO acronym

Agreed, I just made https://github.com/httpwg/http-extensions/pull/1753


Ok



I was curious if there were any open implementations available of this in a server/proxy?

The cloudflare quiche library supports setting stream priorities as a local transport layer API. We expose this up to the H3 layer so that it can set response priorities. We delegate the parsing of HTTP request headers to applications. The quiche example HTTP/3 server application [1] can read the Priority header or a special (custom and non-standard) querystring format (?u={val}&i={val}). I beleive nghttp3 [2] and h2o have support. Chrome has some support on the client side, not sure about the status of Google's server side though.

Thanks. It raises a question of how client web page/JS requests/signals priority - With H2 it was mainly down to the Browser developers but with this header based approach these can be added by JS, though it’s not clear how one invokes the use of a PRIORITY_UPDATE frame or would that just be down to the Browser client logic?

Best,

Piers

Cheers,
Lucas

[1] - https://github.com/cloudflare/quiche#command-line-apps

[2] - https://github.com/ngtcp2/nghttp3/blob/cecc6791c7b1ffe8a1ddbc7c27cbea6c341afb89/README.rst#http3

Received on Friday, 15 October 2021 16:58:16 UTC