IETF (Internet Engineering Task Force), mis tegeleb interneti protokollide ja arhitektuuri arendamisega, lÔpetas HTTP/3.0 protokolli jaoks RFC-de koostamise ning avaldas sellega seotud spetsifikatsioonid identifikaatoritega RFC 9114 (protokoll) ja RFC 9204 (QPACK pealkirjade kokkusurumise tehnoloogia HTTP/3 jaoks). HTTP/3.0 spetsifikatsioon sai "EesmÀrgistatud standardi" staatuse, mille jÀrel algab töö RFC staatuse andmiseks mustandi standardiks (Draft Standard), mis sisuliselt tÀhendab protokolli tÀielikku stabiliseerimist ja kÔigi esitatud mÀrkuste arvestamist. Samuti avaldati vÀrskendatud versioonid HTTP/1.1 (RFC 9112) ja HTTP/2.0 (RFC 9113) spetsifikatsioonidest, samuti dokumendid, mis mÀÀratlevad HTTP-pÀringute semantika (RFC 9110) ja HTTP vahemÀlu haldamise pealkirjad (RFC 9111).
HTTP/3 protokoll mÀÀratleb QUIC (Quick UDP Internet Connections) protokolli kasutamise_HTTP/2 transpordiks. QUIC on UDP protokolli peal ehitatud kiht, mis toetab mitme ĂŒhenduse multipleximist ja tagab krĂŒpteerimise meetodid, mis on ekvivalentne TLS/SSL-iga. Protokolli lĂ”i 2013. aastal Google, et pakkuda alternatiivi TCP+TLS-kombinatsioonile Webis, lahendades TCP-s ĂŒhenduste loomise ja ĂŒhtlustamise pika aja probleemid ning kĂ”rvaldates andmete edastamise ajal pakettide kadumise viivitused.

Praegu on QUIC ja HTTP/3.0 tugi juba rakendatud kĂ”igis populaarsetes veebibrauserites (Chrome'is, Firefoxis ja Edge'is on HTTP/3 tugi vaikimisi sisse lĂŒlitatud, Safari puhul on vajalik aktiveerida seadistus "Advanced > Experimental Features > HTTP/3"). Serveripoolsed HTTP/3 rakendused on saadaval nginx-is (erinevas harus ja eraldi moodulina), Caddy's, IIS-is ja LiteSpeed'is. HTTP/3 tuge pakub ka Cloudflare'i sisu edastamise vĂ”rk.
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%.
HTTP/1.1 spetsifikatsiooni muudatustest tuleks mĂ€rkida tagasilöögi sĂŒmboli (CR) iseseisva kasutamise keelu, st protokolli elementides vĂ”ib CR sĂŒmbolit kasutada ainult koos reavahetuse sĂŒmboliga (CRLF). Chunked-pĂ€ringute koostamise algoritmi on tĂ€iustatud, et lihtsustada kinnitatud vĂ€ljade ja pĂ€iste sektsioonide eraldamist. Lisatud on soovitused ebaselgete sisu kĂ€sitlemiseks, et blokeerida 'HTTP Request Smuggling' rĂŒnnakud, mis vĂ”imaldavad tungida teiste kasutajate pĂ€ringute sisu vahelise voolu, mis liigub frontendi ja backend'i vahel.
HTTP/2.0 spetsifikatsiooni uuenduses on TLS 1.3 tugi selgelt mÀÀratletud. Prioriteetide mÀÀramise skeem ja sellega seotud vĂ€ljad on tĂ”lgitud vananenud kategooriasse. HTTP/1.1-ga koopiate uuendamise mehhanism, mis ei ole levinud, kuulutatakse vananenuks. VĂ€ljade nimede ja vÀÀrtuste kontrollimise nĂ”uded on vĂ€hendatud. Kasutamiseks on soovitatud mĂ”ned varem reserveeritud kaader tĂŒĂŒbid ja parameetrid. TĂ€psustatakse keelatud pĂ€iste vĂ€ljad, mis on seotud ĂŒhendusega.
Allikas: opennet.ru

