Live data from Hacker News

The Status of HTTP/3

infoq.com

111–120 of 123 posts

Re: The Status of HTTP/3

#111
post #2

> with almost 300,000 services using it across the world The Shodan search given scans headers for all requests. So the vast majority of results are sites using Google Fonts, Maps, etc.

According to W3Techs, 2.4% of the top 10m sites and 7.1% of the top 1k sites support HTTP/3: https://w3techs.com/technologies/breakdown/ce-http3/ranking

Re: The Status of HTTP/3

#112
post #97
post #94

Earlier quoted context omitted.

One thing that drives me off from Caddy is that many features don't compose with each other well. I understand this might be a sacrifice for a simpler user interface, but the composition of declarative-style configurations is always a mess compared to imperative ones like nginx.conf

Thanks for the feedback. (To clarify, nginx's config is also declarative... well, mostly: they got in trouble for mixing declarative and imperative [1].) You'd be surprised what we've been able to accomplish with upgrades to Caddy's configuration in Caddy 2. Its config is technically declarative, but the underlying JSON structure [2] implies a procedural flow, enabling you to compose certain behaviors that almost fee…

Thank you for the quick reply! Currently our routing needs lots of flexibility, and we are wondering if it's possible to have something similar to OpenResty-style [0] config where builtin directives are Lua functions, and users can handle requests by dispatching them in Lua with a function call.

[0]: https://openresty.org/en/

Re: The Status of HTTP/3

#113
From the article:

> HTTP/2, derived from the now deprecated SPDY protocol, introduced the concept of first-class streams embedded in the same connection.

Was this not done by SCTP?

* https://en.wikipedia.org/wiki/Stream_Control_Transmission_Pr...

It's just that (a) network boxes often block 'unknown' protocols, and (b) web servers/browsers did not bother implementing the protocol.

Re: The Status of HTTP/3

#114
post #16

I hate to be a curmudgeon, but I can't help but think that designing a new service over UDP isn't the best idea. DNS has been fighting off wave after wave of attack vectors, some that realistically cannot even be fixed. Making it immune to these vectors is going to look a lot like a slapped together TCP over UDP...

> I hate to be a curmudgeon, but I can't help but think that designing a new service over UDP isn't the best idea.

They tried with SCTP and DCCP.

Re: The Status of HTTP/3

#115
post #112
post #97

Earlier quoted context omitted.

Thanks for the feedback. (To clarify, nginx's config is also declarative... well, mostly: they got in trouble for mixing declarative and imperative [1].) You'd be surprised what we've been able to accomplish with upgrades to Caddy's configuration in Caddy 2. Its config is technically declarative, but the underlying JSON structure [2] implies a procedural flow, enabling you to compose certain behaviors that almost fee…

Thank you for the quick reply! Currently our routing needs lots of flexibility, and we are wondering if it's possible to have something similar to OpenResty-style [0] config where builtin directives are Lua functions, and users can handle requests by dispatching them in Lua with a function call. [0]: https://openresty.org/en/

We have a handler-scripting solution in the works that may be about 2x faster than nginx+Lua (from initial early benchmarks). Can you file an issue to request specifically what you need? https://github.com/caddyserver/caddy/issues/new

Re: The Status of HTTP/3

#116

From the article: > HTTP/2, derived from the now deprecated SPDY protocol, introduced the concept of first-class streams embedded in the same connection. Was this not done by SCTP? * https://en.wikipedia.org/wiki/Stream_Control_Transmission_Pr... It's just that (a) network boxes often block 'unknown' protocols, and (b) web servers/browsers did not bother implementing the protocol.

Yes, my impression of both HTTP/2 and HTTP/3 efforts is that they learned a lot from how many middle boxes clobber SCTP. I've heard the UDP-based QUIC that HTTP/3 uses described before as "middle box safe SCTP", though it does differ in details it attempts to accomplish much the same things but piggybacking over UDP.

Re: The Status of HTTP/3

#117
post #82

Earlier quoted context omitted.

How does QUIC lead to "less ability to block them"?

I am not sure. But seems like the nature of the encrypted connection and the stream utilisation (akin to HTTP/2) would make it harder for something like e.g. your home PiHole to block ads at the DNS level -- or any other lower-level in your network before stuff hits the browser. I should have worded my comment better. It wasn't a claim, it was more like a "I think Google wants this protocol to succeed for their own u…

You can't do much at the DNS level if everything comes from "google.com". Which seems to be where Google is going with this. One big multiplexed encrypted pipe between their browser and their servers, containing many streams. All pages are hosted by Google via AMP, all ads are hosted by Google, all tracking is performed through Google Tag Manager, and the power of add-ons to Google's browser is limited to prevent ad-blocking.

Re: The Status of HTTP/3

#118
post #4

Because QIC is UDP based, Chrome first runs a race with TCP just in case you're sitting behind some device that blocks UDP. I wonder how much bandwidth this will waste globally.

Or how many "visitor" statistics will it flaw ?

Re: The Status of HTTP/3

#119
post #38

Yeah I'm not deploying this, pretty much ever. I'll gladly eat the overhead of TCP to be able to avoid the reflection and spoofing issues of UDP.

The only reason QUIC is built on top of UDP is because ossification prevents it from being built on top of IP. It's essentially at the same level as TCP- and provides similar mechanisms to avoid UDP's issues.

That's my point, I don't want something at the same level of TCP because then you have to solve the same problems that TCP already solves.

Whitelisting patterns are incredibly common. Breaking that breaks a lot of stuff.

Re: The Status of HTTP/3

#120
post #6

Why are they calling it HTTP/3 and not just keeping the QUIC name?

Some rather muddled answers here, but it's simple enough: it's an (upcoming) IETF standard. The name makes clear that it's a proper standard, not an experiment run by one organisation.

Something similar happened with SPDY (Google's experiment) and HTTP/2 (IETF standard based on SPDY).

Post reply on HN