Firefox i odkazovaný zdroj uvádí HTTPS, ve zprávičce už je to také opravené. Nicméně výchozí protokol je pak opravdu HTTP/2 – protože prohlížeč při navazování TLS spojení rovnou posílá informaci o tom, které protokoly podporuje. Takže server, který umí HTTP/2, to potvrdí, a prohlížeč pak uvnitř šifrovaného kanálu rovnou posílá HTTP/2 požadavek.
To je ostatně jeden z důvodů, pro prohlížeče podporují jen šifrované HTTP/2. Protože při nešifrovaném spojení není prostor pro tuhle předběžnou signalizaci, takže prohlížeč by vždy musel začít HTTP/1.1 požadavkem, teprve pak by mu mohl server odpovědět, že zvládá i HTTP/2. A HTTP/1.1 by v tom úvodním požadavku muselo zůstat prakticky na věky.
HTTP/3 používá jako transportní vrstvu UDP, takže tam nepomůže ani ten trik se signalizací při navazování TLS spojení. Proto se použití protokolu HTTP/3 nově dá signalizovat i přes DNS, aby mohl prohlížeč začít rovnou na HTTP/3.
U HTTP/2 ještě byla snaha držet vše v rámci samotného HTTP protokolu. Ale když se u HTTP/3 přešlo z TCP na UDP, řekli si pak tvůrci standardů, že když už se rozšoupnout, tak pořádně, a vytvořili pro DNS záznamy typu SVCB a HTTPS.
Takže Firefox se nejprve přes DNS zeptá na doménové jméno a dozví se, zda server podporuje HTTP/3 a má rovnou navazovat spojení přes QUIC, nebo zda má jít postaru protokolem TCP. Pokud jde postaru, zkusí navázat TCP spojení na portu 443 a v rámci TLS pošle rozšíření, že podporuje HTTP/2. Pokud mu to server potvrdí, začne komunikaci na HTTP/2 a v rámci požadavku se zeptá na možnost upgradu na HTTP/3 (ta signalizace přes DNS je stará jen pár měsíců, takže podpora je ještě malá). Pokud mu server nepotvrdí HTTP/2, posílá požadavek přes HTTP/1.1 (stále skrze ten TLS kanál). A pokud se vůbec nepodaří navázat spojení na TCP portu 443, zkusí to Firefox znovu na portu 80 s nešifrovaným spojením. Nejproblematičtější bude, pokud na portu 443 bude něco poslouchat, ale nebude to správně nakonfigurovaný HTTP server. Nevím, zda tam Firefox má ještě nějakou heuristiku, že by v některých případech dělal sám fallback na HTTP, nebo jestli už to nechá jen na uživateli.