Komiteti IETF (Internet Engineering Task Force), i angazhuar për zhvillimin e protokolleve dhe arkitekturës së internetit, ka përfunduar përgatitjen e RFC për protokollin HTTP/3.0 dhe ka publikuar specifikimet e lidhura me identifikuesit RFC 9114 (protokolli) dhe RFC 9204 (teknologjia e kompresimit të kokave QPACK për HTTP/3). Specifikimi HTTP/3.0 ka marrë statusin "Standardi i Propozuar", pas së cilës do të fillojë puna për t'i dhënë RFC-statusin e standardit të draftit (Draft Standard), që në fakt do të thotë stabilizimin e plotë të protokollit dhe marrjen parasysh të të gjitha komenteve të shprehura. Në të njëjtën kohë, janë publikuar versione të përmirësuara të specifikimeve për protokollet HTTP/1.1 (RFC 9112) dhe HTTP/2.0 (RFC 9113), si dhe dokumente që përcaktojnë semantikën e kërkesave HTTP (RFC 9110) dhe kokat e kontrollit për ndihmën e ruajtjes (RFC 9111).
Protokolli HTTP/3 përcakton përdorimin e protokollit QUIC (Quick UDP Internet Connections) si transport për HTTP/2. QUIC është një shtresë mbi protokollin UDP, që mbështet multiplikimin e disa lidhjeve dhe ofron metoda enkriptimi, ekuivalente me TLS/SSL. Protokolli është krijuar në vitin 2013 nga kompania Google si një alternativë për kombinimin TCP+TLS për Web, duke zgjidhur problemet me kohën e lartë të vendosjes dhe negociatës së lidhjeve në TCP dhe duke eliminuar vonesat gjatë humbjes së paketimeve gjatë transferimit të të dhënave.

Aktualisht, mbështetje për QUIC dhe HTTP/3.0 është realizuar tashmë në të gjitha shfletuesit e njohur (në Chrome, Firefox dhe Edge mbështetja për HTTP/3 është përfshirë automatikisht, ndërsa në Safari kërkon aktivizimin e cilësimit "Advanced > Experimental Features > HTTP/3"). Në anën e serverit, zbatimet e HTTP/3 janë të disponueshme për nginx (në një degë të veçantë dhe në formën e një moduli të veçantë), Caddy, IIS dhe LiteSpeed. Mbështetje për HTTP/3 ofrohet gjithashtu nga rrjeti i shpërndarjes së përmbajtjes Cloudflare.
Karakteristikat kryesore të QUIC:
- Siguri e lartë, e ngjashme me TLS (në thelb, QUIC ofron mundësinë e përdorimit të TLS mbi UDP);
- Kontrolli i integritetit të rrjedhës, duke parandaluar humbjen e paketave;
- Mundësia për të vendosur menjëherë një lidhje (0-RTT, në rreth 75% të rasteve të dhënat mund të transmetohen menjëherë pas dërgimit të paketës së vendosjes së lidhjes) dhe për të siguruar vonesa minime midis dërgimit të kërkesës dhe marrjes së përgjigjes (RTT, Koha e Rrethit);

- Përdorimi i një numri tjetër renditje për ripërsëritjen e paketës, çka lejon evitimin e paqartësisë në përcaktimin e paketimeve të pranuara dhe heqjen e vonesave;
- humbja e paketave ndikon vetëm në dërgesën e lidhur me grupe të caktuara dhe nuk ndalon dërgimin e të dhënave në grupe paralelisht të transferuara përmes këtij lidhjeje;
- Mjetet për korrektionin e gabimeve, të cilat minimizojnë vonesat për shkak të ripërsëritjes së paketimeve të humbura. Përdorimi i kodeve speciale të korrekcioni të gabimeve në nivelin e paketës për të reduktuar situatat që kërkojnë ripërsëritjen e të dhënave të paketave të humbura.
- Kufijtë e blloqeve kriptografike janë rreshtuar me kufijtë e pakove QUIC, duke zvogëluar ndarjen e humbjeve të pakove në dekodimin e përmbajtjes së pakove të ardhshme;
- Mungesa e problemeve me bllokimin e radhës TCP;
- Mbështetje për identifikimin e lidhjes, që lejon të shkurtohet koha e vendosjes së lidhjes së re për klientët e lëvizshëm;
- Aftësia për të lidhur mekanizma të avancuar të kontrollit të mbingarkesës së lidhjes;
- Përdorimi i teknikave të parashikimit të kapacitetit në çdo drejtim për të garantuar intensitetin optimal të dërgimit të paketeve, duke parandaluar rënien në një gjendje mbipopullimi, ku vërehet humbja e paketeve;
- Rritje e dukshme e performancës dhe kapacitetit në krahasim me TCP. Për shërbimet video, si YouTube, përdorimi i QUIC ka treguar një reduktim të 30% në operacionet e rifillimit gjatë shikimit të videos.
Nga ndryshimet në specifikimin HTTP/1.1, mund të theksohet ndalimi i përdorimit të veçuar të simboleve të kthimit të kartecës (CR) jashtë trupit të përmbajtjes, pra, në elementet e protokollit simboti CR mund të përdoret vetëm së bashku me simbolin e kalimit të rreshtit (CRLF). Algoritmi i grumbullimit të kërkesave me kokë është përmirësuar për të simplifikuar ndarjen e fushave të bashkangjitura dhe seksionit me kokat. Janë shtuar rekomandime për trajtimin e përmbajtjeve të paqartë për të bllokuar sulmet e tipit "HTTP Request Smuggling", që lejojnë ndërhyrjen në përmbajtjen e kërkesave të përdoruesve të tjerë në rrjedhën midis frontend-it dhe backend-it.
NĂ« pĂ«rditĂ«simin e specifikimit HTTP/2.0, Ă«shtĂ« pĂ«rcaktuar qartĂ« mbĂ«shtetje pĂ«r TLS 1.3. ĂshtĂ« kaluar nĂ« kategorinĂ« e skemave tĂ« vjetruara tĂ« pĂ«rcaktimit tĂ« prioriteteve dhe fushave tĂ« lidhura nĂ« kokat. ĂshtĂ« shpallur e vjetruar mekanizmi i rinovimit tĂ« lidhjes me HTTP/1.1. JanĂ« zvogĂ«luar kĂ«rkesat pĂ«r kontrollin e emrave tĂ« fushave dhe vlerave. JanĂ« propozuar pĂ«r pĂ«rdorim disa lloje kornizash dhe parametra tĂ« rezervuar mĂ« parĂ«. JanĂ« pĂ«rcaktuar mĂ« saktĂ« fushat e kokave tĂ« ndaluara qĂ« lidhen me lidhjen.
Burimi: opennet.ru

