Firefoxi ööehitustes ning beetaversioonis on vaikimisi sisse lülitatud protokolli HTTP/3 toetus. Stabiilses haru versioonis on HTTP/3 aktiveerimine planeeritud Firefox 88 väljaandmiseks, mis on plaanitud 20. aprilliks. Chrome'is on HTTP/3 valikuline aktiveerimine alates 2020. aasta oktoobrist.
HTTP/3 toetus Firefoxis põhineb Mozilla arendataval projektis neqo, mis pakub kliendi ja serverile QUIC protokolli rakendust. Komponentide kood HTTP/3 ja QUIC toe jaoks on kirjutatud keeles Rust. HTTP/3 aktiveerimise haldamiseks on saadaval valik «network.http.http3.enabled» seadetest about:config. Klienditarkvara katse toetus HTTP/3 on samuti juba lisatud Chrome'i ja curl’i, ning serverite see on saadaval nginxis, samuti nginx-mooduli ja Cloudflare'i testserveri kujul. HTTP/3 klientide toimimise kontrollimiseks on käivitatud mitmeid testimisveebisaite.
HTTP/3 protokoll on endiselt töös ja ei ole IETF-is lõplikult standardiseeritud. HTTP/3 määratleb QUIC protokolli kasutamise HTTP/2 transpordiks. QUIC (Quick UDP Internet Connections) protokolli on alates 2013. aastast arendatud Google'i poolt TCP+TLS alternatiivina Webile, lahendades TCPs pikkade ühenduse loomise ja läbirääkimisaja probleemid ning vähendades viivitusi andmete edastamise ajal pakettide kaotamisel. QUIC on UDP protokolli peal, toetades mitme ühenduse multiplexerimist ning pakkudes TLS/SSL-iga võrdseid krüpteerimismeetodeid. IETF on standardite arendamise protsessis teinud protokollis muudatusi, mis on viinud kahe paralleelselt eksisteeriva haru tekkimiseni: üks HTTP/3 jaoks ja teine, mida toetab Google (Chrome toetab mõlemat versiooni).
QUIC peamised omadused:
- Kõrge turvalisus, mis on sarnane TLS-ile (QUIC võimaldab tegelikult kasutada TLS-i UDP peal);
- Voogude terviklikkuse kontrollimine, mis takistab pakettide kadumist;
- Kohene ühenduse loomise võimalus (0-RTT, umbes 75% juhtudest saab andmeid edastada kohe pärast ühenduse loomise paketi saatmist) ning tagab minimaalsed viivitused päringu saatmise ja vastuse saamise vahel (RTT, Round Trip Time);
- Pakettide uuesti edastamisel kasutatakse erinevat järjestuse numbrit, mis aitab vältida segadust vastuvõetud pakettide määratlemisel ja kaotab aegumise probleemid;
- Paketi kadu mõjutab ainult seotud voogu ja ei peata andmete edastamist paralleelselt edastatavatest voogudest läbi praeguse ühenduse;
- Vigade parandamise vahendid, mis minimeerivad viivitused kadunud pakettide kordussaatmise tõttu. Spetsiaalsete vigade parandamise koodide kasutamine paketi tasandil, et vähendada olukordade arvu, mis vajavad kadunud paketi andmete uuesti edastamist.
- Krüptograafiliste plokkide piirid on joondatud QUIC pakettide piiride külge, mis vähendab pakettide kadumise mõju järgmiste pakettide sisu dekodeerimisele;
- TCP järjekorra ummistusega seotud probleeme pole.
- Ühenduse identifikaatori toetus, mis võimaldab mobiilsete klientide uuesti ühendamise aega lühendada;
- Täpsemate ühenduse koormusjuhtimise mehanismide toetus;
- Võimet kasutada igas suunas läbipääsutehnika prognoosimist, et tagada optimaalne pakettide saatmise intensiivsus, vältides ülekoormusse sattumist, mille korral toimub pakettide kadu;
- Märgat jõudluse ja läbilaskevõime kasvu võrreldes TCP-ga. Video teenustes, nagu YouTube, on QUIC-i kasutamine näidanud 30% -list vähendamist videote ümbersuunamise operatsioonides.
Allikas: opennet.ru
