w3c / webtransport

WebTransport is a web API for flexible data transport

Home Page:https://w3c.github.io/webtransport/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Allow users to find how prioritization is done easily?

MarcWeber opened this issue · comments

There are multiple use cases for changing priorities:

  • If you hover an image reload with higher resolution
  • if user clicks element prefetch or fetch hydration code faster
  • if users scrolls down prioritize prefetching images one screen ahead
  • implementing complex software let's say Adobe Photoshop you have always
    more features than the user will be using. So smart prefetching of code
    makes sense and changing priorities depending on menus clicked etc.
  • ..

Knowing HTTP3 has priorities like highest, higher, .. lowest
it's hard to find keywords like those in your specification.

So I recommend making it easy for the reader to find setting priorities
by having the keywords / comparison somewhere.

Could be related to: #515

Thanks for the feedback! I have some questions about what you're seeking:

Knowing HTTP3 has priorities like highest, higher, .. lowest

Sorry I couldn't find those keywords. Do you have a link?

Your use cases seem to be about changing the priorities with which data is being fetched from a server, is that right?

If so, are you perhaps referring to the high, "low" fetch priority attributes? Those are declarative hints in a request-response API. e.g. fetch A from the server quicker than B.

In contrast, WebTransport is a lower-level network API that allows:

  1. the server to initiate sending data to the client, and
  2. the client to initiate sending data to the server

There's no built-in request-response, though you can build it (see 3) using bidirectional streams, if a server plays along.

This means the priorities of data sent from the server is (mostly) up to the server (modulo backpressure from the client), unless you build some priority control mechanism into your server.

Note that #515 and sendOrder are solely about data sent from the client to the server.

With that understanding, can you clarify your use case?

@MarcWeber can you comment on the above? ^ Otherwise we would like to close this issue.

No comment received. Reopen if necessary.