Skip to content

Commit 95b912d

Browse files
committed
Document WebTransport protocol offer formatting
1 parent 77795cf commit 95b912d

8 files changed

Lines changed: 21 additions & 15 deletions

docs/publisher-api.es.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ De forma predeterminada, la API aplica el ALPN adecuado para el transporte:
159159
- Raw QUIC + draft-18: `moqt-18`
160160
- WebTransport: `h3`
161161

162-
Para WebTransport, la API envía la oferta del protocolo de aplicación MoQ separada del ALPN de QUIC: draft-16 ofrece `moqt-16`, draft-18 ofrece `moqt-18`, y draft-14 mantiene el comportamiento heredado sin subprotocolo.
162+
Para WebTransport, la API envía la oferta del protocolo de aplicación MoQ separada del ALPN de QUIC mediante `WT-Available-Protocols`: draft-16 ofrece `"moqt-16"`, draft-17 ofrece `"moqt-17"`, draft-18 ofrece `"moqt-18"`, y draft-14 mantiene el comportamiento heredado sin subprotocolo. Las comillas forman parte de la sintaxis HTTP Structured Fields; el ALPN de Raw QUIC conserva el token sin comillas.
163163

164164
Si su aplicación ya configuró el ALPN del endpoint y quiere conservarlo:
165165

docs/publisher-api.fr.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ Par défaut, l'API applique l'ALPN adapté au transport :
159159
- Raw QUIC + draft-18 : `moqt-18`
160160
- WebTransport : `h3`
161161

162-
Pour WebTransport, l'API envoie l'offre de protocole applicatif MoQ séparément de l'ALPN QUIC : draft-16 propose `moqt-16`, draft-18 propose `moqt-18`, et draft-14 conserve l'ancien comportement sans sous-protocole.
162+
Pour WebTransport, l'API envoie l'offre de protocole applicatif MoQ séparément de l'ALPN QUIC via `WT-Available-Protocols` : draft-16 propose `"moqt-16"`, draft-17 propose `"moqt-17"`, draft-18 propose `"moqt-18"`, et draft-14 conserve l'ancien comportement sans sous-protocole. Les guillemets font partie de la syntaxe HTTP Structured Fields ; l'ALPN Raw QUIC reste le jeton sans guillemets.
163163

164164
Si votre application a déjà défini l'ALPN de l'endpoint et veut le conserver :
165165

docs/publisher-api.it.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ Per impostazione predefinita, l'API applica l'ALPN appropriato al trasporto:
159159
- Raw QUIC + draft-18: `moqt-18`
160160
- WebTransport: `h3`
161161

162-
Per WebTransport, l'API invia l'offerta del protocollo applicativo MoQ separatamente dall'ALPN QUIC: draft-16 offre `moqt-16`, draft-18 offre `moqt-18` e draft-14 mantiene il comportamento legacy senza sottoprotocollo.
162+
Per WebTransport, l'API invia l'offerta del protocollo applicativo MoQ separatamente dall'ALPN QUIC tramite `WT-Available-Protocols`: draft-16 offre `"moqt-16"`, draft-17 offre `"moqt-17"`, draft-18 offre `"moqt-18"` e draft-14 mantiene il comportamento legacy senza sottoprotocollo. Le virgolette fanno parte della sintassi HTTP Structured Fields; l'ALPN Raw QUIC resta il token senza virgolette.
163163

164164
Se la vostra applicazione ha già impostato l'ALPN dell'endpoint e vuole mantenerlo:
165165

docs/publisher-api.ja.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ if (!status.ok) {
159159
- Raw QUIC + draft-18: `moqt-18`
160160
- WebTransport: `h3`
161161

162-
WebTransport では、API は MoQ アプリケーションプロトコルの offer を QUIC ALPN とは別に送信します。draft-16 は `moqt-16`、draft-18 は `moqt-18` を offer し、draft-14 は従来のサブプロトコルなしの動作を維持します。
162+
WebTransport では、API は `WT-Available-Protocols` を使い、MoQ アプリケーションプロトコルの offer を QUIC ALPN とは別に送信します。draft-16 は `"moqt-16"`、draft-17 は `"moqt-17"`、draft-18 は `"moqt-18"` を offer し、draft-14 は従来のサブプロトコルなしの動作を維持します。引用符は HTTP Structured Fields 構文の一部です。Raw QUIC ALPN は引用符なしの token のままです
163163

164164
アプリケーションがすでに endpoint の ALPN を設定しており、それを維持したい場合:
165165

docs/publisher-api.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,10 @@ By default, the API applies transport-appropriate ALPN:
160160
- WebTransport: `h3`
161161

162162
For WebTransport, the API sends the MoQ application protocol offer separately
163-
from QUIC ALPN: draft-16 offers `moqt-16`, draft-18 offers `moqt-18`, and
164-
draft-14 keeps the legacy no-subprotocol behavior.
163+
from QUIC ALPN through `WT-Available-Protocols`: draft-16 offers `"moqt-16"`,
164+
draft-17 offers `"moqt-17"`, draft-18 offers `"moqt-18"`, and draft-14 keeps
165+
the legacy no-subprotocol behavior. The quotes are part of the HTTP
166+
Structured Fields syntax; Raw QUIC ALPN remains the unquoted token.
165167

166168
If your application already set endpoint ALPN and wants to keep it:
167169

docs/publisher-api.pt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ Por padrão, a API aplica o ALPN apropriado ao transporte:
159159
- Raw QUIC + draft-18: `moqt-18`
160160
- WebTransport: `h3`
161161

162-
Para WebTransport, a API envia a oferta do protocolo de aplicação MoQ separadamente do ALPN de QUIC: draft-16 oferece `moqt-16`, draft-18 oferece `moqt-18`, e draft-14 mantém o comportamento legado sem subprotocolo.
162+
Para WebTransport, a API envia a oferta do protocolo de aplicação MoQ separadamente do ALPN de QUIC por `WT-Available-Protocols`: draft-16 oferece `"moqt-16"`, draft-17 oferece `"moqt-17"`, draft-18 oferece `"moqt-18"`, e draft-14 mantém o comportamento legado sem subprotocolo. As aspas fazem parte da sintaxe HTTP Structured Fields; o ALPN de Raw QUIC continua sendo o token sem aspas.
163163

164164
Se sua aplicação já configurou o ALPN do endpoint e deseja mantê-lo:
165165

docs/publisher-api.zh.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ if (!status.ok) {
159159
- Raw QUIC + draft-18:`moqt-18`
160160
- WebTransport:`h3`
161161

162-
对于 WebTransport,API 会将 MoQ 应用协议 offer 与 QUIC ALPN 分开发送:draft-16 offer `moqt-16`,draft-18 offer `moqt-18`,draft-14 保留旧的无子协议行为。
162+
对于 WebTransport,API 会通过 `WT-Available-Protocols`MoQ 应用协议 offer 与 QUIC ALPN 分开发送:draft-16 offer `"moqt-16"`,draft-17 offer `"moqt-17"`,draft-18 offer `"moqt-18"`,draft-14 保留旧的无子协议行为。引号是 HTTP Structured Fields 语法的一部分;Raw QUIC ALPN 仍使用不带引号的 token
163163

164164
如果应用已经设置了 endpoint ALPN,并且希望保留它:
165165

docs/webtransport-compliance.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,18 @@ It is carried in:
5555
- `WT-Protocol`
5656

5757
These are Structured Fields strings on the CONNECT exchange. The
58-
WebTransport draft allows a server to omit `WT-Protocol`, but if it sends one
59-
it must choose a value from the client's offer. MoQ Transport draft-18 still
60-
expects clients to include MOQT protocol identifiers in `WT-Available-Protocols`.
58+
`WT-Available-Protocols` header value is therefore a structured string list:
59+
send `"moqt-16"`, not bare `moqt-16`. The WebTransport draft allows a server
60+
to omit `WT-Protocol`, but if it sends one it must choose a value from the
61+
client's offer. MoQ Transport draft-18 still expects clients to include MOQT
62+
protocol identifiers in `WT-Available-Protocols`.
6163

6264
Current offers in this repo:
6365

6466
- draft 14: offer no WebTransport subprotocol for legacy compatibility
65-
- draft 16: offer `moqt-16` only
66-
- draft 18: offer `moqt-18` only
67+
- draft 16: offer `"moqt-16"` only in `WT-Available-Protocols`
68+
- draft 17: offer `"moqt-17"` only in `WT-Available-Protocols`
69+
- draft 18: offer `"moqt-18"` only in `WT-Available-Protocols`
6770

6871
Red5's current picoquic/h3zero server path no longer exposes
6972
`WT-Available-Protocols` to the application on CONNECT accept. Red5 therefore
@@ -134,8 +137,9 @@ Areas that should be treated as suspect until proven:
134137
Before changing wire behavior, verify each of these:
135138

136139
1. CONNECT succeeded and the WebTransport protocol offer matches the intended draft:
137-
draft-14 offers no WebTransport subprotocol, draft-16 offers `moqt-16`,
138-
and draft-18 offers `moqt-18`. If the relay omits `WT-Protocol`, verify
140+
draft-14 offers no WebTransport subprotocol, draft-16 offers `"moqt-16"`,
141+
draft-17 offers `"moqt-17"`, and draft-18 offers `"moqt-18"` as structured
142+
`WT-Available-Protocols` strings. If the relay omits `WT-Protocol`, verify
139143
the negotiated MoQ setup version before treating the session as draft-specific.
140144
2. The first client MoQ bytes are sent only on a WT application stream, not the CONNECT stream.
141145
3. The WT application stream gets exactly one WT preamble.

0 commit comments

Comments
 (0)