Hi Yutaka, This is a big new feature and a lot to go over. When looking at the spec+Blink IDL, I noticed the API didn't require secure contexts: https://bugs.chromium.org/p/chromium/issues/detail?id=1253275
It looks like that's being fixed now, which is great! I'll reply again when I've spent some more time reading here. On Wed, Sep 29, 2021 at 12:08 AM Emily Stark <est...@chromium.org> wrote: > I want to note that there are some pretty big open questions in > https://github.com/w3c/webtransport/issues/349. I think we might want to > have more restrictions on the allowed types of certificates than the spec > currently outlines, and introducing those restrictions after shipping the > feature would carry compatibility risks. > > On Sun, Sep 26, 2021 at 9:55 PM Yutaka Hirano <yhir...@chromium.org> > wrote: > >> Contact emails >> >> yhir...@chromium.org, vasi...@chromium.org >> >> Explainer >> >> https://github.com/w3c/webtransport/blob/main/explainer.md >> >> Specification >> >> https://w3c.github.io/webtransport >> >> https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-http3/ >> >> https://datatracker.ietf.org/doc/html/draft-ietf-quic-datagram/ >> >> Design docs >> >> https://web.dev/webtransport/ >> >> >> https://docs.google.com/document/d/1UgviRBnZkMUq4OKcsAJvIQFX6UCXeCbOtX_wMgwD_es/edit >> >> Summary >> >> WebTransport is an interface representing a set of reliable/unreliable >> streams to a server. The interface potentially supports multiple protocols, >> but based on discussions on the IETF webtrans working group, we are >> developing WebTransport over HTTP/3 which uses HTTP3 as the underlying >> protocol. >> >> This time, we want to ship the core part. The following features are >> excluded: >> >> - >> >> Connection sharing >> - >> >> Stream Prioritization >> - >> >> Statistics >> - >> >> WebTransport over HTTP/2 >> >> >> Blink component >> >> Blink>Network>WebTransport >> >> TAG review >> >> https://github.com/w3ctag/design-reviews/issues/669 >> >> TAG review status >> >> Pending >> >> Risks >> >> Interoperability and Compatibility >> >> This is a new API and doesn’t change any existing behaviors. >> >> Gecko: Worth Prototyping >> <https://github.com/mozilla/standards-positions/issues/167>. They are >> actively involved in the specification effort. >> >> WebKit: No signal >> <https://lists.webkit.org/pipermail/webkit-dev/2021-September/031980.html> >> . >> >> Web developers: Positive >> >> Twitch >> >> https://twitch.tv >> >> >> >> Twitch is using WebTransport to serve live video to our users with lower >> latency and higher quality. We plan on rolling out our new playback >> experience once it's fully available given our positive results. >> >> >> >> WebTransport offers all of the benefits of QUIC, but in a browser >> environment and without the constraints of HTTP semantics. Most notably we >> can push data over multiple streams, eliminating head-of-line blocking and >> enabling new functionality during congestion. This is not possible with >> existing browser standards such as WebSockets and WebRTC data channels. >> >> Google Stadia >> >> https://stadia.google.com/ >> >> “Google Stadia is using the WebTransport API in conjunction with the >> WebCodecs API for several use cases, both internally and with partners. The >> underlying WebTransport protocol, QUIC, has far greater throughput and >> resiliency characteristics than other mechanisms available, which enables >> use cases like webcams, and transmission of results of browser-based >> processing to applications and games in the cloud. The capability to >> transmit datagrams to cloud endpoints enables many new use cases for Stadia >> including communication with custom hardware endpoints. In the future we >> hope to explore using this API for other use cases.” >> >> Ergonomics >> >> The API is built around ReadableStream/WritableStream interfaces, which >> means that its core I/O principles would be familiar to the developers who >> had already used Streams via Fetch and other APIs. >> >> The API does not use cookies, HTTP authentication or socket pooling. >> This would help us avoid unexpected interactions with the other elements of >> the network stack. >> >> Activation >> >> Since UDP is often blocked on the network, the developers have to assume >> that the API often would not work even in the situations when it is >> implemented in the browser. >> >> Security >> >> See <https://wicg.github.io/web-transport/#privacy-security> for more >> info. >> >> >> >> We allow web developers to use an alternative certification verification >> method than the usual HTTPS way. We allow a web developer to connect to a >> WebTransport over HTTP/3 server when its certificate’s fingerprint matches >> with the developer provided fingerprint. This is discussed at >> https://github.com/w3c/webtransport/issues/349 and we will update the >> spec shortly. >> >> Debuggability >> >> Printing an error message with the reason when the opening handshake >> fails. >> >> We show outgoing WebTransport sessions in the “Network” section of >> DevTools, the same place where WebSocket connections are shown. Unlike >> WebSockets, we do not intend to show the actual contents of the >> WebTransport sessions, thus avoiding the performance decrease that would >> cause. >> >> Just like with regular HTTP/3-based QUIC traffic, detailed information >> about the connection can be obtained via chrome://net-export interface. >> >> Is this feature fully tested by web-platform-tests? >> >> Yes >> >> We are writing WPTs (/webtransport >> <https://wpt.fyi/results/webtransport?label=experimental&label=master&aligned>). >> We expect the task to be completed by the branch point. The WebTransport >> over HTTP/3 server for testing >> <https://github.com/web-platform-tests/wpt/tree/master/tools/webtransport> >> is running locally, but we need more time to run it on wpt.live or >> Chromium CI. >> >> Requires code in //chrome? >> >> False >> >> Tracking bug >> >> https://crbug.com/10111392 >> >> Link to entry on the Chrome Platform Status >> >> https://chromestatus.com/feature/4854144902889472 >> >> -- >> You received this message because you are subscribed to the Google Groups >> "blink-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to blink-dev+unsubscr...@chromium.org. >> To view this discussion on the web visit >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABihn6HZaCbG_q8wVv0ukaGRwir-%2BVr0yQTGy3nXH0Qwa1fe%3Dg%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABihn6HZaCbG_q8wVv0ukaGRwir-%2BVr0yQTGy3nXH0Qwa1fe%3Dg%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "blink-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to blink-dev+unsubscr...@chromium.org. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPP_2SYf_fTncwUqaO3oTvY-Vvv36xYTeiFC85Fo%2B90yVfFxvw%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPP_2SYf_fTncwUqaO3oTvY-Vvv36xYTeiFC85Fo%2B90yVfFxvw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYfxTXEOdV%3Der6H5T-Ck9xF8Lb9VHmtTTHLNwGFRC_63Ug%40mail.gmail.com.