- From: Yoav Weiss <yoav@yoav.ws>
- Date: Fri, 5 Jun 2020 10:14:04 +0200
- To: Lucas Pardue <lucaspardue.24.7@gmail.com>, Bence Béky <bnc@chromium.org>, Tarun Bansal <tbansal@google.com>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>, Kazuho Oku <kazuhooku@gmail.com>
- Message-ID: <CACj=BEiOA=7ixKsnK85VEmC+6Tjkwaeb7zB78sgZEmRjeYD0kQ@mail.gmail.com>
On Fri, Jun 5, 2020 at 1:36 AM Lucas Pardue <lucaspardue.24.7@gmail.com> wrote: > Hello folks, > > The Extensible Priorities draft has an open issue on the topic of > reprioritization [1] and the May 2020 HTTP Interim session [2] pivoted > towards it. The discussion highlighted that reprioritization is something > we need to get to the bottom of in order to unblock progressing this draft. > > Our definition of the reprioritization feature is purposefully narrow, but > the frame-related mechanics cause complications for implementations. One > option on the table is to take reprioritization out of the critical path of > draft-ietf-httpbis-priority by extracting the text to leave a simpler > definition of just the scheme and the Priority header signal. The extracted > text could be put in a separate I-D, reworked, replaced, or dropped > altogether. The choice of action is ultimately up to the WG, so that is why > we’re sending this email. > > Removing reprioritization from draft-ietf-httpbis-priority sounds pretty > drastic but in all the work that’s got us here, we’ve struggled to find > data that backs up its efficacy. > > Reducing Extensible Priorities to its core, clients issue priority signals > (U and I) based on the expectation that the server, if possible, will > transmit responses in the order of their urgency and request order > (inferred by stream ID). Reprioritization is a client sending a subsequent > signal (U’ and I’) that modifies the priority of in-flight responses. > Reprioritization is not: > > > - > > Sending a batch of requests and signalling the desire for later > requests to be sent before earlier ones. By design, that is supported using > urgency. > - > > Purposeful ordering of requests to meet a priority objective. This a > client implementation choice. > - > > Aborting requests or responses that are in flight. By design, that is > a function provided by HTTP/2 or QUIC streams that is actioned by > implementation choice. > - > > Manipulating a dependency tree through the lifetime of a connection. > By design, that is not required. > - > > Any other mechanisms to adjust the server’s scheduling of response > data. That is out of scope. > > > We’d be very interested to hear from people who support keeping > reprioritization and can provide data, directly or indirectly, that the way > it is applied in the extensible priority scheme provides tangible benefits. > Data to the opposite effect is also of interest. > Chromium is re-prioritizing image requests. Images are sent with low priority and in-viewport images are later re-prioritized (once layout happens and the browser knows they are actually in the viewport). IIRC +Bence Béky <bnc@chromium.org> implemented that re-prioritization for H2, and may have data regarding its impact from the launch. Also CCing +Tarun Bansal <tbansal@google.com>, as he may be aware of data to its efficacy. Note that any such data regarding H2 would be biased by current H2 implementations and their challenges <https://blog.cloudflare.com/better-http-2-prioritization-for-a-faster-web/> with buffer bloat. So I'd tend to trust test cases/examples from known good-actors more than internet-wide data that's more likely to be watered down with other issues. What's the timeline for us to provide supporting data and/or tests cases in order to keep re-prioritization in? > Cheers > > Kazuho and Lucas > > Extensible Priorities Editors > > [1] - https://github.com/httpwg/http-extensions/issues/1021 > > [2] - > https://github.com/httpwg/wg-materials/blob/gh-pages/interim-20-05/minutes.md#priorities >
Received on Friday, 5 June 2020 08:14:36 UTC