Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Support for HTTP/3 and WebTransport #428

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lleyton
Copy link

@lleyton lleyton commented May 21, 2023

As the title says. Still a work in progress, currently running into some weird QUIC/HTTP3 quirks which I'm having issues debugging. Besides that.. should almost be done.

Semi related to #375

@jpillora
Copy link
Owner

Thank you :) definitely will consider this - on mobile haven’t looked at all the code yet though few Qs though

  • how does the performance compare to the web socket transport? 1. Throughout? 2. With / without high packet loss? (I expect quic to perform better with a bad connection)
  • I’m wondering if it should listen on the given port on both tcp (websockets) and Udp (quic) by default - ignore Udp listen failures. And then a flag to choose either/both explicitly - where failures are not ignored.
  • I can it handle it on quic without the request path check? Makes it more transparent, and more friendly with the backend fallback flag

@lleyton
Copy link
Author

lleyton commented May 27, 2023

Thanks! As for your questions:

  • I haven't run benchmarks yet, but I expect QUIC to perform better on flakier connections or where network congestion may be high.
  • Hmm, currently it will automatically listen on UDP (QUIC) if a TLS certificate is set, as QUIC requires that. I could definitely add a flag to set the option explicitly though.
  • I assume you're talking about the /wt handler? Hm, I could probably detect if it's a WebTransport connection by checking the headers. I could also check if the request came over UDP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants