On 18 Aug 2026, at 01:06, Tarek <[email protected]> wrote: > Thanks for the detailed thoughts. I need to ponder them some more, this seems > like a good direction for long-term. > > My concern is that waiting for the full design could delay HTTP/3 work. The > mod_http3 project is still young and has a lot of maturing ahead of it. > > I propose retargeting PR #699 to the 2.4.x series as an enabling step, while > developing the broader design on 2.5.x. This would let the community continue > to grow, test, and gather feedback on mod_http3 in parallel. > > mod_http3 would adopt an odd/even release strategy. 0.2.0 could target stable > httpd 2.4.x, while 0.3.0-dev targets httpd 2.5.x-dev. When httpd 2.6.x is > released, we could then ship mod_http3 0.4.0 as the corresponding stable > release, perhaps ready to be bundled with httpd by then. > Once you'e released something in v2.4 it's for keeps, if you want to change it later that's not possible, it must stay backwards compatible. Apache httpd is baked into all sorts of systems, with all sots of extensions, the most important thing is that what works today must stay working. Don't worry too much about this though - the changes look to me to be reasonably straightforward and easy to backport.
Your starting point is having the MPMs being aware of both TCP and UDP, instead of TCP like now. TCP in the MPMs is quite complicated, because there are all sorts of things like timeouts and so on that have to be tracked. UDP is trivial in comparison, you just read the UDP packet when it signals it's ready, and pass the packet to the hook to be dealt with. mod_http3 then hooks into that hook, passes the packet to nghttp3, which does the magic and then gives the http request back to httpd through callbacks. This is a good unit of work to start with, if you can reliably feed nghttp3 with UDP packets along with graceful restart working properly you have a strong base to build on. Regards, Graham --
