V Firefox, který bude základem pro vydání Firefox 72, naplánované na 7. ledna, podpora protokolu HTTP/3. Ve výchozím nastavení je HTTP/3 vypnuto a vyžaduje aktivaci volby „network.http.http3.enabled“ v about:config.
Podpora HTTP/3 ve Firefoxu je založena na projektu vyvíjeném společností Mozilla , který poskytuje implementaci klienta a serveru pro protokol QUIC. Kód komponent pro podporu HTTP/3 a QUIC je napsán v jazyce Rust.
Z klientského softwaru má experimentální podporu HTTP/3 také v Chrome a curl, a pro servery je k dispozici ve formě pro nginx a na základě knihovny ( QUIC a HTTP/3 v jazyce Rust od společnosti Cloudflare). Pro ověření funkčnosti klientů HTTP/3 několik testovacích webů, z nichž většina se zatím v Firefoxu správně neotevírá (HTTP/3 je na stupni a není konečně standardizován).
Připomínáme, že HTTP/3 standardizuje použití protokolu QUIC jako transportu pro HTTP/2. Protokol (Quick UDP Internet Connections) se od roku 2013 vyvíjí společností Google jako alternativa k kombinaci TCP+TLS pro web, řešící problémy s dlouhým časem na nastavení a vyjednávání spojení v TCP a odstranění zpoždění při ztrátě paketů během přenosu dat. QUIC je nadstavbou nad protokolem UDP, podporující multiplexování několika spojení a poskytující metody šifrování, ekvivalentní TLS/SSL.
Hlavní QUIC:
- Vysoká bezpečnost, srovnatelná s TLS (v podstatě QUIC poskytuje možnost použití TLS nad UDP);
- Kontrola integrity toku, která zabraňuje ztrátě paketů;
- Možnost okamžitého navázání spojení (0-RTT, v přibližně 75% případů lze data přenášet ihned po odeslání prvního paketu) a zajištění minimálních zpoždění mezi odesláním požadavku a obdržením odpovědi (RTT, doba zpětné cesty);
- Nepoužití stejného čísla sekvence při opětovném odeslání paketu, což eliminuje nejednoznačnost při určování přijatých paketů a zbavuje se časových limitů;
- Ztráta paketu ovlivňuje doručení pouze souvisejícího toku a nezastavuje doručení dat v paralelně přenášených tocích přes aktuální spojení;
- Nástroje pro opravu chyb, které minimalizují zpoždění způsobené opětovným přenosem ztracených paketů. Využití speciálních chybových kódů na úrovni paketů pro snížení situací, které vyžadují opětovný přenos dat ztraceného paketu.
- Hranice kryptografických bloků jsou sladěny s hranicemi paketů QUIC, což snižuje dopad ztráty paketů na dekódování obsahu následujících paketů;
- Žádné problémy s blokováním front TCP;
- Podpora identifikátoru spojení, která snižuje čas potřebný k opětovnému navázání spojení pro mobilní klienty;
- Možnost připojení rozšířených mechanismů řízení přetížení spojení;
- Použití techniky predikce šířky pásma v každém směru pro zajištění optimální intenzity odesílání paketů, což zabraňuje přechodu do stavu přetížení, ve kterém dochází ke ztrátě paketů;
- Výrazný výkonu a propustnosti ve srovnání s TCP. Pro video služby, jako je YouTube, prokázal QUIC snížení operací znovu vyrovnání během sledování videa o 30%.
Zdroj: opennet.ru
