HACKER Q&A
📣 shanebellone

Please help Does HTTP/3 chain requests?


Afternoon HN,

I may have rather serendipitously implemented HTTP/3 support for a Flask-like CMS.

Does HTTP/3 reduce server requests by concatenating multi-resource requests into a single request conveyed through a "chained-path"?

For example:

Loading example.com/about requires loading style.css and favicon.ico.

HTTP/2 would request example.com/about, request style.css, request favicon.ico.

Does HTTP/3: request example.com/about & style.css & favicon.ico with a single request path similar to "/about/style.css/favicon.png"?

Any insight would be appreciated. Thanks!


  👤 DamonHD Accepted Answer ✓
AFAIK the semantics of HTTP/2 and HTTP/3 are the same, so no, but both /2 and /3 are able to multiplex these requests, with shared compressed header elements for example, onto a single underlying 'connection'.

👤 coreyp_1
> Does HTTP/3: request example.com/about & style.css & favicon.ico with a single request path similar to "/about/style.css/favicon.png"?

No. HTTP/3 can multiplex requests, but "/about/style.css/favicon.png" is a single, valid path. If you are seeing requests for that (specifically), then it's probably a bug.

As for HTTP/3 itself, NGINX is probably providing that. Mobile connections (well, really any connection that is prone to packet loss) benefits greatly from HTTP/3, which accounts for your speedup.

HTTP/3 also will use UDP streams in addition to the single TCP stream of HTTP/1.1 and HTTP/2.