Live data from Hacker News

The majority of Facebook's traffic now uses QUIC and HTTP/3

engineering.fb.com

71–80 of 149 posts

Re: The majority of Facebook's traffic now uses QUIC and HTTP/3

#71
post #60

Can HTTP/3 be enabled in nginx now? Should it be? Is it a simple config change? I assume that would take care of serving static assets, but would reverse-proxied apps behind nginx also need to be upgraded to HTTP/3?

Pretty much any HTTP proxy supports talking a set of negotiated protocol versions/features with the client, and a potentially different set of protocol versions/features with the server behind it.

The high-level flow is pretty much:

1) Set up client connection/negotiate stuff (TLS, alpn, NPN, blah blah) 2) Process requests from that client connection 2.1) Decode request from client connection 2.2) Manipulate request (add/remove headers, ...) 2.3) Send request to server 2.3.1) If necessary, create a new connection to server (TLS, alpn, NPN, ...) 2.3.2) Encode request to server connection 2.4) Decode response from server connection 2.5) Manipulate response (add/remove headers, ...) 2.6) Encode response to client connection

You can talk totally different protocols from Internet-side client to the proxy, and from the proxy to the server - and multiple layers of proxies in between if you like. From an app point of view, there's essentially no difference. If you want to for some reason, you can use various headers to do attempt to indicate to the client to upgrade/downgrade to particular protocols, but most apps won't care about that.

Re: The majority of Facebook's traffic now uses QUIC and HTTP/3

#72
post #14

Earlier quoted context omitted.

Unfortunately permissions to access everything on every website are way to broad for a niche extension like this. There's no guarantee it won't be sold to a malware developer in a month. If you want to use it, I suggest cloning the repo and loading it as an unpacked extension to avoid auto updates.

Essentially it is performance.getEntriesByType("navigation")[0].nextHopProtocol and background task to update UI, plus a link to chrome://net-export/ This one is not hard to audit but in current model should be done by each user.

If that's it, you could just save it as a bookmark:

    javascript:alert(performance.getEntriesByType("navigation")[0].nextHopProtocol)

Re: The majority of Facebook's traffic now uses QUIC and HTTP/3

#73

I feel like I belong in the minority who like the new Facebook SPA. It loads shockingly fast on my computer, almost instantaneous even

Interesting, it's very slow for me, and usually triggers warnings from Safari for excess resource consumption.

Heavy JS apps (eg:React) have all had perf issues on my Safari. Not just FB, anyone using React has cause this issue on my machine.

Chrome and FF also using more resources for Heavy JS (not as much as Safari) but maybe they just have better engines.

I loathe the over-js'd web.

Re: The majority of Facebook's traffic now uses QUIC and HTTP/3

#74

Is this possible with NodeJS + express already? I didn't see any package for that or config

Node.js has builtin HttpV2 support but no v3 support IIRC. Which is not a deal breaker because any production app should already have a load balancer/proxy in front of it, which do have QUIC support.

[deleted]

Re: The majority of Facebook's traffic now uses QUIC and HTTP/3

#76
post #58

Earlier quoted context omitted.

It hangs all the time for me, video scrubbing halts the entire tab, and it uses a lot of CPU sometimes.

Any chance you're using Safari?

It loads very fast for me with Safari, but I regularly get an empty newsfeed or only 1 or 2 posts.

Re: The majority of Facebook's traffic now uses QUIC and HTTP/3

#77
post #31

I am really happy Google and others are pushing QUIC, but for only one main reason: networks that disallow UDP will now be considered "broken." Without something to push UDP usage its possible we could end up with a TCP-only Internet that would make P2P connectivity more or less impossible.

I'm totally on board with having more than one protocol available (especially since UDP is so much more flexible), but what is it about TCP specifically that precludes its use for p2p? Is it easier to get through NATs et al with UDP?

Re: The majority of Facebook's traffic now uses QUIC and HTTP/3

#78
post #46

I feel like I belong in the minority who like the new Facebook SPA. It loads shockingly fast on my computer, almost instantaneous even

It's almost like Windows 95! I click something and then it just happens, immediately! Funny how people forgot that you actually can make (web)apps fast.

But being an SPA I'm sure it's a billion times more manageable for them to maintain instead of a javascript hack nightmare.

So, yeah of course you can always make something lightning fast.. but can you manage it, or even develop it properly in the first place?

Re: The majority of Facebook's traffic now uses QUIC and HTTP/3

#79

By the way, even though it is not yet turned on by default, http3 support is present in Firefox and can be activated by toggling 'network.http.http3.enabled' in about:config to true. I have had it enabled for a few weeks and everything seems okay except that rarely I've noticed a few sites not loading the first time I visit them but needing a 'refresh', but I'm not sure if this is because of the new QUIC code or just…

Had constant problems loading Youtube. Finally someone on r/Firefox helped me solve it by seeing what in my config was different from default. This value was it and everything worked well after the setting was reverted and restarting.

Thanks, this helped. :) I had it enabled too.

Re: The majority of Facebook's traffic now uses QUIC and HTTP/3

#80
post #31

I am really happy Google and others are pushing QUIC, but for only one main reason: networks that disallow UDP will now be considered "broken." Without something to push UDP usage its possible we could end up with a TCP-only Internet that would make P2P connectivity more or less impossible.

I'm totally on board with having more than one protocol available (especially since UDP is so much more flexible), but what is it about TCP specifically that precludes its use for p2p? Is it easier to get through NATs et al with UDP?

Third party mediated hole punching really only works with UDP. TCP is stateful and thus negotiating a hole punch requires incredibly precise timing, which is hard to achieve in practice.

Without UDP we have a purely "cloud-to-ground" Internet unless we can convince router/NAT makers to always include and always turn on UPnP/NAT-PMP. Not likely, and those protocols suck anyway.

Post reply on HN