Sitelet https://github.com/nodejs/node/issues/38478
Skip to content

HTTP/3 support #38478

Description

@pimterry

As far as I can tell, there's currently no open issue explicitly tracking for QUIC or HTTP/3. Selfishly I'm very interested in knowing when this is available, so I'd personally find it very valuable to have an issue (this issue) tracking the current state and progress.

To document the current state:

  • QUIC was tracked in QUIC support #23064
  • That was closed when the experimental implementation was started
  • That entire implementation was later removed due to lack of support in OpenSSL
  • We've now moved to the Quictls fork of OpenSSL to avoid being blocked by OpenSSL's approach to implementing QUIC
  • There's a draft QUIC implementation being worked on here.
  • That QUIC implementation is a prerequisite for any HTTP/3 implementation (so we're still a way off)

@jasnell I think you've been doing most of the legwork here (thank you!), is that about right?

Feel free to close this if it's a problem to create feature requests like this, but I suspect there's likely to be lots of people interested in QUIC & HTTP/3, so a central issue documenting it is pretty useful imo.

Activity

  1. added
    feature requestIssues requesting new Node.js features.
    quicIssues and PRs related to the QUIC transport implementation.
    on Apr 30, 2021
  2. jasnell commented on Apr 30, 2021

    @jasnell
    Member

    Opening a tracking issue is perfectly fine :)

    And yes, I'm working on reintroducing quic and http3 now. It's going to take a bit of time since it's not the only thing I have on my plate at the moment but it is coming. I'll provide a more detailed update later today

  3. espoal commented on May 11, 2021

    @espoal

    Subscribing to the issue. In an internal test I saw that HTTP/3 improved bounce rate and conversion rate, especially with users on poor connections.

    @jasnell loving your work. I don't think at my skill level I can be of any help, but let me know.

  4. ramsundhar20 commented on May 17, 2021

    @ramsundhar20

    Great work on this @jasnell. Looking forward for your contribution in developing this. In this latest era of remote worlds (thanks to COVID), the need for this QUIC & HTTP/3 support in Nodejs is undeniable.

    Let me know if you need some assitance.

  5. rekire commented on Jun 1, 2021

    @rekire

    Any updates here? QUIC has been approved as RFC-9000.

  6. jasnell commented on Jun 1, 2021

    @jasnell
    Member

    Work is underway. I'm reworking the underlying impl. Expect an update in about a week

  7. boaerosuke commented on Jun 30, 2021

    @boaerosuke

    Hi @jasnell, I guess you have a lot to do at nearforms. Are there any updates on this issue? Or is it already possible to somehow do experimental QUIC based application implementations within its current state in node.js?

  8. espoal commented on Jul 1, 2021

    @espoal

    @boaerosuke I think this is becoming a blocker for this issue, so work is still progressing.

  9. jasnell commented on Jul 3, 2021

    @jasnell
    Member

    Work is still progressing. Slow going, but moving forward.

  10. boaerosuke commented on Jul 5, 2021

    @boaerosuke

    Thanks for your feedback! Absolutely appreciating your work!

  11. rysolv-bot commented on Jul 7, 2021

    @rysolv-bot

    rustalot has contributed $75.00 to this issue on Rysolv.

    The total bounty is now $75.00. Solve this issue on Rysolv to earn this bounty.

  12. rustalot commented on Jul 7, 2021

    @rustalot

    Hey @jasnell, feel free to remove if off topic. I added a bounty on this issue. Understandably it's more that $75 worth of work, but wanted to chip in towards your work.

  13. rysolv-bot commented on Aug 10, 2021

    @rysolv-bot

    An anonymous user has contributed $50.00 to this issue on Rysolv.

    The total bounty is now $125.00. Solve this issue on Rysolv to earn this bounty.

  14. jasnell commented on Aug 10, 2021

    @jasnell
    Member

    Just an update... the basic support is implemented. The PR is ready for review tho overall it's still far from done.

  15. 40 remaining items

  16. SwapnilSoni1999 commented on Mar 6, 2023

    @SwapnilSoni1999

    I'm noob enough to make it go above from my head but after reading comments I can understand its still in process xD
    Let see how next web protocol will feel in upcoming node versions

  17. orderplatform-edward commented on Jun 12, 2023

    @orderplatform-edward
  18. mreinstein commented on Jun 12, 2023

    @mreinstein

    @jasnell @bnoordhuis It might be good to lock this thread.

  19. burgil commented on Jul 23, 2023

    @burgil

    I have a few thoughts and suggestions regarding the project's current status and potential improvements. Firstly, I'm curious about the decision to lock the project while it's still being worked on. Could you kindly clarify if it's nearing completion or if there are plans to continue development?

    Secondly, it would be incredibly helpful to access an example to understand the implementation better. Could you please provide some guidance on where we can find a hands-on example?

    Additionally, I've noticed that Google already employs h3 in all of its websites, which appears to be working quite effectively for them. As a game developer, I've experienced firsthand how UDP can offer significant speed advantages over TCP, although it does come with some reliability challenges. However, with real-time corrections, UDP can work remarkably well for games. Considering this, I wonder why we haven't explored its potential for websites earlier. Perhaps integrating it as the standard and out-of-the-box option when using Express.js, for instance, could bring about interesting benefits to man-kind.

    I'm here, along with other community members, ready to assist with any programming issues and offer solutions in various languages. It's evident that Express.js has already outperformed Flask in all performance benchmarks, and I believe we should continue supporting its progress rather than leaving it behind. This project has the potential to make a positive impact, and I'm surprised that it has received relatively modest funding so far. It would be incredible if influential figures like Bill Gates could recognize the significance of this work and contribute to its success with substantial donations.

    Moreover, I strongly believe that adopting such improvements could contribute to reducing CO2 emissions and foster a better world. Let's collaborate and work towards making this project reach its full potential."

  20. jpike88 commented on Jul 23, 2023

    @jpike88
  21. burgil commented on Jul 23, 2023

    @burgil
  22. locked as too heated and limited conversation to collaborators on Jul 23, 2023
  23. deleted a comment from burgil on Jul 23, 2023
  24. moved this from Awaiting Triage to Triaged in Node.js feature requestson Jun 26, 2024
  25. moved this from Triaged to In Progress in Node.js feature requestson Apr 12, 2025
  26. trivikr commented on May 4, 2025

    @trivikr
    Member

    As per early 2025, the updates on HTTP/3 on QUIC are posted on #57281

  27. jasnell commented on May 7, 2026

    @jasnell
    Member

    The basic implementation of http/3 support is in. Still extremely experimental but generally functional. Expect bugs. See the suite of tests in test/parallel/test-quic-h3-* for examples.

  28. jasnell commented on May 7, 2026

    @jasnell
    Member

    Overview of the HTTP/3 support... https://www.jasnell.me/posts/quic-part-4

  29. jasnell commented on Aug 8, 2026

    @jasnell
    Member

    Given the work in progress, I don't think we actually need to keep this issue open further.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestIssues requesting new Node.js features.quicIssues and PRs related to the QUIC transport implementation.

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions