Mozilla teatas plaanist hakata etappide kaupa rakendama HTTP/3 ja QUIC protokolle Firefox 88 versioonis, mis on planeeritud 19. aprilliks (esialgu oodati vĂ€ljaannet 20. aprilliks, kuid graafiku kohaselt on see ĂŒhe pĂ€eva vĂ”rra edasi lĂŒkatud). Alguses aktiveeritakse HTTP/3 tugi vaid vĂ€ikesele protsendile kasutajatest ja kui ettenĂ€gematud probleemid ei ilmne, laiendatakse see kĂ”igile kasutajatele mai lĂ”puks. Ăiste ehitustes ja beetaversioonides oli HTTP/3 vaikimisi sisse lĂŒlitatud mĂ€rtsi lĂ”pus.
Tuletame meelde, et HTTP/3 rakendamine Firefoxis pÔhineb Mozilla arendatav projektil neqo, mis pakub kliendi rakendust ja serverid QUIC-protokolli tugi. HTTP/3 ja QUIC toetuse komponentide kood on kirjutatud Rust keeles. HTTP/3 aktiveerimise haldamiseks on about:config-is saadaval valik «network.http.http3.enabled». Kliendi tarkvaras on eksperimenteeriv HTTP/3 tugi lisatud ka Chrome'i ja curl'i, ning serverid nginx-is on see olemas, samuti nginx-moodulina ja Cloudflare'i testserverina. Föderaalsel tasandil on HTTP/3 tugi juba tagatud Google'i ja Facebooki serverites.
HTTP/3 protokoll on praegu mustandspetsifikatsiooni staadiumis ja pole veel IETF-is lĂ”plikult standardiseeritud. HTTP/3 kasutamiseks on vajalik, et nii kliendi kui ka serveri kĂŒlgpoolsed rakendused toetaksid sama versiooni QUIC-i ja HTTP/3 mustandstandardist, mis on nĂ€idatud Alt-Svc pĂ€ises (Firefox toetab mustandite spetsifikatsioone alates 27. kuni 32.).
HTTP/3 mÀÀratleb QUIC protokolli kasutamise HTTP/2 transportimiseks. QUIC (Quick UDP Internet Connections) on alates 2013. aastast Google'i poolt arendatav alternatiiv TCP+TLS kombinatsioonile, mis lahendab TCP-s ĂŒhenduste loomise ja kokkuleppimise pika aega ning kĂ”rvaldab viivitused, kui andmete edastamise kĂ€igus kaotatakse pakette. QUIC on UDP protokolli pealne kiht, mis toetab mitme ĂŒhenduse multiplexerimist ja pakub krĂŒpteerimismeetodeid, mis on samavÀÀrsed TLS/SSL-iga. IETF-is standardi arendamisel on protokolli tehtud muudatusi, mis on viinud kahe paralleelselt eksisteeriva haru tekkimiseni â ĂŒks HTTP/3 jaoks ja teine Google'i toetatud (Chrome toetab mĂ”lemat varianti).
QUICi pÔhijooned:
- KÔrge turvalisus, vÔrreldav TLS'iga (QUIC pakub tegelikult vÔimalust kasutada TLS'i UDP peal);
- Voolu terviklikkuse jÀlgimine, mis takistab pakettide kaotust;
- VĂ”imalus luua ĂŒhendus koheselt (0-RTT, umbes 75% juhtudel saab andmeid edastada kohe pĂ€rast ĂŒhenduse loomise paketi saatmist) ja tagada minimaalne viivitus pĂ€ringu saatmise ja vastuse saamise vahel (RTT, Round Trip Time);
- Paketi uuesti edastamisel kasutatakse teistsugust jÀrjestuse numbrit, mis vÔimaldab vÀltida mitmeti mÔistetavust saadud pakettide mÀÀratlemisel ja kÔrvaldada aegumise probleemid;
- Paketi kaotus mĂ”jutab ainult selle kaasnevat voolu ja ei peata andmete edastamist samaaegselt praeguse ĂŒhenduse kaudu edastatavatest voogudest;
- Vigade parandusmeetmed, mis minimeerivad viivitusi kadunud pakettide uuesti edastamise tÔttu. Eriliste vigade parandamise koodide kasutamine paketi tasemel, et vÀhendada olukordi, mis nÔuavad kadunud paketi andmete uuesti edastamist.
- KrĂŒptograafiliste plokkide piirid on joondatud QUIC pakettide piiridega, mis vĂ€hendab pakettide kaotuse mĂ”ju jĂ€rgmiste pakettide sisu dekodeerimisele;
- TCP jÀrjekorra ummistumise probleemide puudumine;
- Ăhenduse identifikaatori tugi, mis vĂ”imaldab vĂ€hendada mobiilsete klientide uuesti ĂŒhendamise aega;
- VĂ”ime ĂŒhendada laienevaid ĂŒhenduse ĂŒlekande kontrolli mehhanisme;
- Igas suunas lĂ€bilaskevĂ”ime ennustamise tehnika kasutamine, et tagada pakkide edastamise optimaalne intensiivsus, vĂ€ltides ĂŒleminekuid koormuse seisundisse, kus esineb pakettide kaotust;
- TÀhtis jÔudluse ja ribalaiuse kasv vÔrreldes TCP-ga. Video teenustes, nagu YouTube, on QUIC-i kasutamine vÀhendanud videote vaatamisel vahemÀlu operatsioone 30%.
Allikas: opennet.ru
