At least I could polyfill webtransport in this way over WebSocket:
https://datatracker.ietf.org/doc/draft-richter-webtransport-websocket/
and it works without problems, see for implementation:
https://github.com/fails-components/webtransport/tree/master/main/lib/http2
I block currently plain http websocket, but it should work with minor
modifications.
Also the pure http/2 capsule protocol should work via http1.
Marten
Am 06.06.25 um 18:36 schrieb Ian Swett:
Thanks Ben, as long as your interpretation is correct, my deployment
will be fine.
On Fri, Jun 6, 2025 at 12:21 PM Ben Schwartz
<[email protected]> wrote:
I read that sentence a different way. In my reading, a
WebTransport implementation that uses a new TCP connection for
each session (e.g. atop HTTP/1.1) would be entirely acceptable: it
supports multiple simultaneous sessions between the same client
and server (on separate TCP connections).
An example of a noncompliant implementation might be something
that sits inside a WebRTC session and wraps a single WebRTC Data
Channel, without the ability to renegotiate the connection.
--Ben
------------------------------------------------------------------------
*From:* Ian Swett <[email protected]>
*Sent:* Friday, June 6, 2025 11:40 AM
*To:* [email protected]
<[email protected]>
*Cc:* Lucas Pardue <[email protected]>; [email protected]
<[email protected]>; WebTransport <[email protected]>
*Subject:* [Webtransport] Re: Reminder: upcoming QUIC virtual
interim 2025-06-02
You make some good points and I agree with your conclusion. I like
to think of WebTransport as an incarnation of QMux that's more
restrictive in the ways you outline. On Thu, Jun 5, 2025 at 6: 21
PM <marco=40marcopolo. io@ dmarc. ietf. org>
You make some good points and I agree with your conclusion.
I like to think of WebTransport as an incarnation of QMux that's
more restrictive in the ways you outline.
On Thu, Jun 5, 2025 at 6:21 PM
<[email protected]> wrote:
Hi all,
During the meeting, the comparison to WebTransport came up
multiple times. The question seems to be: "WebTransport has
already defined an API that works across various underlying
transports, why not use that instead of QMux?". At a very high
level these are doing similar things, so the question is
natural. To better answer the question, I assigned myself the
homework of reviewing the WebTransport /overview/ draft[0] and
outlining why it would or would not obviate the work for QMux.
WebTransport at its core is designed and constrained by the
Web Security Model. It imposes restrictions that make sense in
the context of the Web, but make less sense for lower level
applications and non-browser use cases. Take for example the
following restrictions:
> All WebTransport protocols MUST use TLS or a semantically
equivalent security protocol.
While I think TLS + QMux will be a common combination, I do
not believe the core QMux proposal should be restricted this
way. As mentioned in the meeting, QMux would be useful on Unix
Domain Sockets where TLS would simply be overhead.
> All WebTransport protocols MUST support simultaneously
establishing multiple sessions between the same client and server.
I missed this requirement and I think it's problematic in
practice. I have a very widely deployed server that only supports
HTTP/1 and HTTP/3 and never intends to support HTTP/2. It'd be
nice to support WebTransport on that server for both HTTP/1 and
HTTP/3, and I don't think it's practical to make a version of
WebTransport that supports multiple sessions over HTTP/1.
Adding the webtransport mailing list to see what the relevant WG's
thoughts are on this MUST.
This asks more of the underlying transport than what we need
in QMux. Which, summarizing from the meeting, is something
like a "Secure Byte Stream".
> All WebTransport protocols MUST provide a way for the user
agent to indicate the origin [RFC6454
<https://urldefense.com/v3/__https://www.rfc-editor.org/rfc/rfc6454__;!!Bt8RZUm9aw!-xswDm0k2z5PC5ukjDKaByidWQ2RBg7qBSp7DCmmOdS2_9qyI-G3noiBIE8Cub6NHEzeYUoXQ5ATPiZWh5yMSCExprk$>]
of the client to the server.
When building on top of TLS, I think this is included. Either
way, I'm not sure it would make sense to restrict QMux in this
way.
> User agent/Client separation
I don't think this is necessary for many of the QMux use cases.
The WebTransport Protocol framework is well designed for the
Web Security Model. Many use cases we discussed in the meeting
live outside that model. In my mind, QMux is a lower layer in
the abstraction stack. QUIC is not constrained by the Web
Security Model, and neither should QMux be.
I think it's reasonable to imagine a WebTransport over QMux
implementation (just as I think it's reasonable to imagine a
WebTransport over QUIC implementation. IIRC I think someone
working with moq said they had something like this). I'm not
convinced that WebTransport, even a WebTransport over TCP
implementation, can fulfill all of the usecases we have in
mind for QMux.
To summarize, I like WebTransport. While there is overlap at a
high level in the API both WebTransport and QMux provide, QMux
serves a more general use case than WebTransport. We should
not shoehorn WebTransport into solving these general use cases.
[0]:
https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-overview-09
<https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-overview-09__;!!Bt8RZUm9aw!-xswDm0k2z5PC5ukjDKaByidWQ2RBg7qBSp7DCmmOdS2_9qyI-G3noiBIE8Cub6NHEzeYUoXQ5ATPiZWh5yMOx4paWg$>
--
-Marco Munizaga
On May 27, 2025, at 3:00 PM, Lucas Pardue
<[email protected]> wrote:
Hi folks,
This email is a reminder that we'll be holding a virtual
interim next week on the topic of QMux: 2025-06-02
21:00-23:00 UTC. The datracker page has further inforation
including the MeetEcho link that we'll be using [1].
Participation is open but a free datatracker account is required.
An agenda has been posted [2]. As usual this is subject to
change up to and including the meeting itself. This meeting
will run slightly different from past meetings focused on
adopted documents and issues. Time will be dedicated to
sufficient discussion of the QMux topic, with the focus being
to iterate on the scope of work to do and proposed charter
text to permit that in the QUIC WG. As usual, any meeting
outcomes will be brought back to the list for confirmation.
Cheers
Lucas & Matt
QUIC WG Co-chairs
[1] -
https://datatracker.ietf.org/meeting/interim-2025-quic-01/session/quic
<https://urldefense.com/v3/__https://datatracker.ietf.org/meeting/interim-2025-quic-01/session/quic__;!!Bt8RZUm9aw!-xswDm0k2z5PC5ukjDKaByidWQ2RBg7qBSp7DCmmOdS2_9qyI-G3noiBIE8Cub6NHEzeYUoXQ5ATPiZWh5yMPBgLMCs$>
[2] -
https://github.com/quicwg/wg-materials/blob/main/interim-25-06/agenda.md