Browsers process network fetches roughly in the order they're made aware that they're going to need to issue them. We go to great lengths to find out when we're going to need bits and bobs; we even go so far to implement crazy parser hacks to "read ahead" to find resources faster
"But", I hear you saying, "the client can adjust priorities!": https://http2.github.io/http2-spec/#reprioritize … LAWLZ.
-
-
In practice, inbound requests dish off to some other thread. That work is likely I/O bound. That I/O, once started, isn't worth pausing or changing. You're better off getting the bytes into memory to be flushed ASAP with as little second guessing as possible.
Show this thread -
High-performance H/2 servers will pretty much always drop subsequent PRIORITY frames on the floor and high-performance clients won't wait to generate them. H/2 priorities are a practical joke as far as I can tell. I presume
@mnot is getting the last laugh.Show this thread -
So what's happening in
@EWErikWitt's post is a cruel combination: 1.) HTML has serially failed to define a meaningful priority scheme (yes, I'm grumpy about it) 2.) H/2 priorities aren't passed because it's "magic" info as a result 3.) fetch() is in the XHR slow bucket
Show this thread -
's post should be titled "Service Workers show how broken HTML and H/2 priorities are". We can do some magic in the limited case he outlines where the source `Request` hasn't been touched, but honestly, we shouldn't.
Show this thread -
Instead, we should be exposing a real, integer-range-based, priority system. No, browsers won't magically agree on these weights. Yes, network stack will sometimes need to reorder anyway, but how is that worse than the status quo?
Show this thread -
The infuriating part of this is the condescension from the H/2 and network stack community. The fear that web developers will "just make everything high priority; then what?" is both real, true, and useless.
Show this thread -
We'll always need to intervene as the user's agent, but so long as JS is part of the platform, developers could *already* do whatevs; it might just have been the long way 'round.
Show this thread -
So it's worth flagging this effect, worth being upset, and perhaps even worth calling out all the folks who work on Chrome that haven't fixed it. But the problem isn't the implementation. It's harder and worse than that. It's a fundamental lack of respect for web developers.
Show this thread -
Taking control of the network shouldn't mean always getting down-ranked in priority. This sort of magic needs to be in developer hands: https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc?l=124 …
Show this thread
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
& Web Standards TL; Blink API OWNER
Named PWAs w/
DMs open. Tweets my own; press@google.com for official comms.