A Mozilla bejelentette, hogy megkezdi a HTTP/3 és QUIC protokollok fokozatos bevezetését a Firefox 88-as kiadásában, amely április 19-én esedékes (eredetileg a kiadás április 20-ra volt tervezve, de a menetrend alapján egy nappal későbbre tolódott). Eleinte a HTTP/3 támogatása csak a felhasználók kis százaléka számára lesz aktiválva, és ha nem merülnek fel váratlan problémák, május végére mindenki számára elérhetővé válik. Az éjszakai build-ekben és béta verziókban a HTTP/3 alapértelmezetten aktiválva volt március végén.
Emlékezzünk rá, hogy a HTTP/3 Firefoxba való implementálása a Mozilla által fejlesztett neqo projekten alapul, amely kliens és a szerver QUIC protokoll implementációját biztosítja. A HTTP/3 és QUIC támogatásához szükséges kód komponensei Rust nyelven íródtak. A HTTP/3 be- és kikapcsolásának menedzselése az about:config alatt a "network.http.http3.enabled" opcióval lehetséges. Az ügyfélszoftverben kísérleti jelleggel a HTTP/3 támogatást a Chrome és a curl is hozzáadta, míg a szerverek nginx-en elérhető, emellett nginx modul formájában és a Cloudflare által biztosított tesztszerveren is megtalálható. A weboldalak oldaláról a HTTP/3 támogatását már a Google és a Facebook szerverei biztosítják.
A HTTP/3 protokoll még mindig tervezet formanyomtatványon van, és az IETF-ben véglegesen nem standardizált. A HTTP/3 használatához szükséges, hogy a kliens- és a szerveroldalon ugyanannak a tervezet szintű QUIC és HTTP/3 standardnak a támogatása meglegyen, amely a Alt-Svc fejlécben van megadva (a Firefox a 27-32 közötti specifikációs tervezeteket támogatja).
A HTTP/3 a QUIC protokoll használatát határozza meg az HTTP/2 szállítására. A QUIC (Quick UDP Internet Connections) protokollt a Google 2013 óta fejleszti a TCP+TLS kombináció alternatívájaként a Web számára, amely megoldja a TCP kapcsolatfelállításának és egyesítésének hosszú idejével kapcsolatos problémákat, és megszünteti a csomagvesztés miatti késéseket az adatok átvitele során. A QUIC egy UDP protokollra épül, amely többszörös kapcsolatok multiplexelését támogatja, és olyan titkosítási módszereket biztosít, amelyek egyenértékűek a TLS/SSL-lel. Az IETF szabványának kidolgozása során a protokollban módosításokat hajtottak végre, ami két párhuzamos létező ághoz vezetett: az egyik a HTTP/3-hoz, a másik pedig a Google által támogatott (a Chrome mindkét verziót támogatja).
A QUIC főbb jellemzői:
- Magas biztonság, amely hasonló a TLS-hez (lényegében a QUIC lehetővé teszi a TLS használatát az UDP-n üstökölve);
- A folyam integritásának ellenőrzése, amely megakadályozza a csomagok elvesztését;
- A kapcsolat azonnali létrehozásának lehetősége (0-RTT, körülbelül 75%-ban az adatok azonnal átadhatók a kapcsolati telepítési csomag küldése után) és a kérés elküldése és a válasz megérkezése közötti minimális késleltetések biztosítása (RTT, Round Trip Time);
- A csomagok új seq. számmal való újraküldésének lehetősége, amely lehetővé teszi a megkapott csomagok pontos azonosítását és megszünteti az időtúllépéseket;
- Csomag elvesztése csak az ahhoz kapcsolódó folyamat szállítását befolyásolja, és nem állítja le az adatokat a párhuzamosan átkonvertált folyamatok szállításában;
- Hibaellenőrző eszközök, amelyek minimalizálják a késéseket az elveszett csomagok újraküldése miatt. Speciális hibaellenőrző kódok használata csomagszinten a vesztes csomagok újraküldésének szükségességének csökkentésére.
- A kriptográfiai blokkok határai a QUIC csomagok határaival össze vannak hangolva, ezáltal csökkenti a csomagvesztések hatását a következő csomagok tartalmának dekódolására;
- Nincsenek problémák a TCP sorok blokkolásával;
- Támogatja a kapcsolati azonosítót, amely lehetővé teszi a mobil kliensek számára a visszakapcsolódási idő csökkentését;
- A kapcsolati túlterhelés-ellenőrzési mechanizmusok kiterjesztett lehetőségeinek csatlakoztatása;
- Sávszélesség-előrejelzési technikák használata mindkét irányban a csomagok optimális küldési intenzitásának biztosítása érdekében, elkerülve a túlterheltségi állapotba való kerülést, amely csomagvesztést eredményez;
- Jelentős teljesítménynövekedés és sávszélesség a TCP-hez képest. Videószolgáltatások, mint például a YouTube esetében a QUIC alkalmazása 30%-kal csökkentette a videók megtekintése során a puffereket.
Forrás: opennet.ru
