Mozilla on teatanud oma kavatsusest alustada HTTP/3 ja QUIC järkjärgulist kasutuselevõttu Firefox 88 väljalaskmisega, mis oli kavandatud 19. aprilliks (algselt pidi ilmuma 20. aprillil, kuid ajakava järgi otsustades lükatakse see ühe päeva võrra edasi). HTTP/3 tugi lubatakse esialgu vaid väikesele protsendile kasutajatest ja, välja arvatud ootamatud probleemid, avaldatakse see kõigile mai lõpuks. Öistes ehitustes ja beetaversioonides lubati HTTP/3 vaikimisi märtsi lõpus.
Tuletagem meelde, et HTTP/3 juurutamine Firefoxis põhineb Mozilla arendatud neqo projektil, mis pakub QUIC-protokolli kliendi- ja serverirakendust. HTTP/3 ja QUIC toe komponendikood on kirjutatud Rust keeles. HTTP/3 lubamise kontrollimiseks pakub about:config suvandit „network.http.http3.enabled”. Klienditarkvarast on HTTP/3 eksperimentaalne tugi lisatud ka Chrome'ile ja curlile ning serveritele on see saadaval nii nginxis kui ka nginxi mooduli ja Cloudflare'i testserveri näol. Veebisaidi poolel on HTTP/3 tugi juba olemas Google'i ja Facebooki serverites.
HTTP/3 protokoll on veel spetsifikatsiooni kavandi etapis ja IETF pole seda veel täielikult standardiseerinud. HTTP/3 nõuab kliendi ja serveri tuge samale QUIC-i mustandstandardi versioonile ja HTTP/3-le, mis on määratud Alt-Svc päises (Firefox toetab spetsiifilisi mustandeid 27–32).
HTTP/3 määratleb QUIC-protokolli kasutamise HTTP/2 transpordina. Protokolli QUIC (Quick UDP Internet Connections) on Google välja töötanud alates 2013. aastast alternatiivina TCP+TLS-i kombinatsioonile veebis, mis lahendab pikkade häälestus- ja läbirääkimisaegadega seotud probleeme TCP-ühenduste jaoks ning kõrvaldab viivitused, kui andmeside ajal paketid kaovad. ülekandmine. QUIC on UDP-protokolli laiendus, mis toetab mitme ühenduse multipleksimist ja pakub TLS/SSL-iga samaväärseid krüpteerimismeetodeid. IETF-i standardi väljatöötamise käigus tehti protokollis muudatusi, mis tõid kaasa kahe paralleelse haru tekkimise, üks HTTP/3 jaoks ja teine Google'i poolt toetatud (Chrome toetab mõlemat varianti).
QUIC-i põhifunktsioonid:
- Kõrge turvalisus, mis sarnaneb TLS-iga (sisuliselt annab QUIC võimaluse kasutada TLS-i üle UDP);
- Voo terviklikkuse kontroll, mis hoiab ära pakettide kadumise;
- Võimalus koheselt luua ühendus (0-RTT, ligikaudu 75% juhtudest saab andmeid edastada kohe pärast ühenduse seadistuspaketi saatmist) ja tagada minimaalsed viivitused päringu saatmise ja vastuse saamise vahel (RTT, Round Trip Time);
- Erineva järjenumbri kasutamine paketi uuesti edastamisel, mis väldib vastuvõetud pakettide tuvastamisel ebaselgust ja vabaneb ajalõppudest;
- Paketi kadumine mõjutab ainult sellega seotud voo edastamist ega peata andmete edastamist paralleelsetes voogudes, mis edastatakse praeguse ühenduse kaudu;
- Veaparandusfunktsioonid, mis minimeerivad kadunud pakettide uuesti saatmisest tingitud viivitusi. Spetsiaalsete veaparanduskoodide kasutamine paketi tasemel, et vähendada olukordi, mis nõuavad kadunud pakettandmete uuesti edastamist.
- Krüptograafiliste plokkide piirid joondatakse QUIC-pakettide piiridega, mis vähendab pakettide kadude mõju järgnevate pakettide sisu dekodeerimisele;
- TCP järjekorra blokeerimisega probleeme pole;
- Ühenduse identifikaatori tugi, mis vähendab mobiiliklientide taasühenduse loomiseks kuluvat aega;
- Võimalus ühendada täiustatud ühenduse ülekoormuse kontrollimehhanisme;
- Kasutab suunapõhiseid läbilaskevõime prognoosimise tehnikaid, et tagada pakettide saatmine optimaalse kiirusega, vältides nende ummistumist ja pakettide kadumist;
- Märkimisväärne jõudluse ja läbilaskevõime kasv võrreldes TCP-ga. Videoteenuste (nt YouTube) puhul vähendab QUIC taaspuhverdamistoiminguid videote vaatamisel 30%.
Allikas: opennet.ru