Draft: draft-vvv-webtransport-quic

Commentary: What is the uri - scheme used in an origin ? ( It may be discussed as a separate issue . 
 Well , the origin sent here is the origin of the webpage that created QuicTransport ; so , for instance , if connects using QuicTransport to , the origin send would be . I do n't think a QuicTransport connection can be an origin by itself . We are currently considering giving it its own URL scheme , but a URL can only act as an origin if a user can to it , or if the URL has storage attached to it ( which QuicTransport does n't , since it does n't support HTTP cookies ) . 
 I misunderstood the URI schema as that of QuicTransport itself Your kind explanation made me understand . thanks
This document follows terminology defined in Section 1.2 of OVERVIEW.
This document follows terminology defined in Section 1.2 of OVERVIEW.
The diagrams describe encoding following the conventions described in
Section 1.3 of QUIC-TRANSPORT.
When a client requests a QuicTransport to be created, the user agent
establishes a QUIC connection to the specified address.  It verifies
that the the server is a QuicTransport endpoint using ALPN, and that
the client is allowed to connect to the specified endpoint using
"web_accepted_origins" transport parameter.  Once the verification
succeeds and the QUIC connection is ready, the client can send and
receive streams and datagrams.
When a client requests a QuicTransport to be created, the user agent
establishes a QUIC connection to the specified address.  It verifies
that the the server is a QuicTransport endpoint using ALPN, and sends
a _client indication_ containing the origin of the initiating website
to the server.  At that point, the connection is ready from the
client's perspective.  The server MUST wait until the indication is
received before processing any application data.
In order to identify itself as a WebTransport application,
QuicTransport relies on TLS Application-Layer Protocol Negotiation
RFC7301.  The user agent MUST request the ALPN value of "wq" and it
MUST NOT establish the session unless that value is accepted.
A value "*", indicating that any origin is accepted.
A comma-separated list of accepted origins, serialized as
described in Section 6 of RFC6454.
In the latter case, the user agent MUST verify that one of the
origins is identical (as defined in Section 5 of RFC6454) to the
origin of the client; otherwise, it MUST abort the session
establishment.
In order to identify itself as a WebTransport application,
QuicTransport relies on TLS Application-Layer Protocol Negotiation
RFC7301.  The user agent MUST request the ALPN value of "wq-vvv-01"
and it MUST close the connection unless the server confirms that ALPN
value.
In order to verify that the client's origin is allowed to connect to
the server in question, the user agent has to communicate the origin
to the server.  This is accomplished by sending a special message,
called _client indication_, on stream 2, which is the first client-
initiated unidirectional stream.
Indicates the field that is being expressed.
Indicates the length of the value (the length of the key and the
length itself are not included).
The value of the field, the semantics of which are determined by
the key.
A FIN on the stream 2 SHALL indicate that the message is complete.
The client MUST send the entirety of the client indication and a FIN
immediately after opening the connection.  The server MUST NOT
process any application data before receiving the entirety of the
client indication.  The total length of the client indication MUST
NOT exceed 65,535 bytes.
The server MUST ignore the fields it does not recognize.  All of the
fields MUST be unique; the server MAY close the connection if any of
the keys is used more than once.
The origin RFC6454 of the client initiating the connection.
The user agent MUST send the Origin field.  The origin field MUST be
set to the origin of the client initiating the connection, serialized
as described in serializing a request origin [1] of FETCH.
QuicTransport uses a QUIC transport parameter to provide the user
agent with an origin whitelist.  The origin is not sent explicitly,
as TLS ClientHello messages are sent in cleartext; instead, the
server provides the user agent with a whitelist of origins that are
allowed to connect to it.
QuicTransport uses a unidirectional QUIC stream to provide the server
with the origin of the client.
The name of the field.
The 16-bit uniquie identifier that is used on the wire.
A brief description of what the parameter does.
The document that describes the parameter.
The IANA policy, as descrbied in RFC8126, SHALL be Standards Action
for values between 0x0000 and 0x03ff; Specification Required for
values between 0x0400 and 0xefff; and Private Use for values between
0xf000 and 0xffff.