facebook/proxygen

support of H3 over TCP

wtao0221 opened this issue · 7 comments

Hi team,

is it possible to support H3 over TCP rather than QUIC?

no, that would not make sense.

HTTP/3 is designed specifically to support HTTP semantics over QUIC
https://www.rfc-editor.org/rfc/rfc9114.html#section-1

and leverages features that are offered by the QUIC transport
https://www.rfc-editor.org/rfc/rfc9114.html#section-1.2

As an example, even if you hypothetically were to use the HTTP/3 framing and send it over TCP, how would you distinguish between streams?

if you are asking because you want to compare HTTP performance with both TCP and QUIC you can compare HTTP3 and HTTP2

Oh. make sense.

Yeah, was trying to compare them.

But what I thought was that actually HTTP and transport are different layers. The HTTP versions and transport versions may be replaceable.

yeah that's a fair comment, however
QUIC provides new features compared to TCP (e.g. stream multiplexing, encrypted by default, 0-RTT) and application protocols like HTTP take advantage of such new features and define new mappings:
so there is no 1:1 mapping between QUIC and TCP both in terms of API and logically.
Depending on what you are trying to test, one possible approximation could be to compare a single QUIC stream with TCP+TLS

Thx for the elaboration!