HTTP/3.0 gavo siūlomą standartinę būseną

IETF (Internet Engineering Task Force), atsakinga už interneto protokolų ir architektūros kūrimą, baigė HTTP/3.0 protokolo RFC formavimą ir paskelbė susijusias specifikacijas su identifikatoriais RFC 9114 (protokolas) ir RFC 9204 ( QPACK antraštės glaudinimo technologija, skirta HTTP/3) . HTTP/3.0 specifikacija gavo „siūlomo standarto“ statusą, po kurio bus pradėtas darbas, kad RFC būtų suteiktas standarto projekto (Standarto projektas), o tai iš tikrųjų reiškia visišką protokolo stabilizavimą ir atsižvelgiant į pateiktus komentarus. Tuo pačiu metu buvo paskelbtos atnaujintos HTTP/1.1 (RFC 9112) ir HTTP/2.0 (RFC 9113) protokolų specifikacijų versijos, dokumentai, apibrėžiantys HTTP užklausų (RFC 9110) semantiką ir HTTP talpyklos valdymo antraštes. (RFC 9111).

HTTP/3 protokolas apibrėžia QUIC (Quick UDP Internet Connections) protokolo naudojimą kaip HTTP/2 perdavimą. QUIC yra UDP protokolo plėtinys, kuris palaiko kelių jungčių multipleksavimą ir suteikia šifravimo metodus, lygiaverčius TLS/SSL. Protokolą 2013 m. sukūrė Google kaip alternatyvą TCP+TLS deriniui žiniatinkliui, sprendžiant problemas, susijusias su ilgo ryšio nustatymo ir derybų laiku TCP, ir pašalinant vėlavimus, kai paketai prarandami perduodant duomenis.

HTTP/3.0 gavo siūlomą standartinę būseną

Šiuo metu QUIC ir HTTP/3.0 palaikymas jau įdiegtas visose populiariose žiniatinklio naršyklėse (Chrome, Firefox ir Edge HTTP/3 palaikymas įjungtas pagal numatytuosius nustatymus, o Safari tam reikalingas nustatymas „Advanced > Experimental Features > HTTP/3“ kad būtų įjungta). Serverio pusėje yra HTTP/3 diegimas, skirtas nginx (atskira šaka ir atskiro modulio pavidalu), Caddy, IIS ir LiteSpeed. HTTP/3 palaikymą taip pat teikia „Cloudflare“ turinio pristatymo tinklas.

Pagrindinės QUIC savybės:

  • Aukštas saugumas, panašus į TLS (iš tikrųjų QUIC suteikia galimybę naudoti TLS per UDP);
  • Srauto vientisumo kontrolė, kad būtų išvengta paketų praradimo;
  • Galimybė akimirksniu užmegzti ryšį (0-RTT, maždaug 75% atvejų duomenis galima perduoti iš karto po ryšio nustatymo paketo išsiuntimo) ir užtikrinti minimalų uždelsimą nuo užklausos išsiuntimo iki atsakymo gavimo (RTT, Round Trip Time);
    HTTP/3.0 gavo siūlomą standartinę būseną
  • Pakartotinai perduodant paketą naudojamas kitoks eilės numeris, kuris leidžia išvengti dviprasmybių identifikuojant gautus paketus ir atsikratyti skirtojo laiko;
  • Paketų praradimas turi įtakos tik su juo susieto srauto pristatymui ir nesustabdo duomenų pristatymo srautuose, perduodamuose lygiagrečiai esamu ryšiu;
  • Klaidų taisymo įrankiai, kurie sumažina vėlavimą dėl prarastų paketų pakartotinio perdavimo. Specialių klaidų taisymo kodų naudojimas paketo lygiu, siekiant sumažinti situacijas, kai reikia pakartotinai perduoti prarastus paketinius duomenis.
  • Kriptografinių blokų ribos sulygiuotos su QUIC paketų ribomis, o tai sumažina paketų praradimo įtaką vėlesnių paketų turinio dekodavimui;
  • Jokių problemų blokuojant TCP eilę;
  • Ryšio ID palaikymas, siekiant sumažinti mobiliųjų klientų prisijungimo laiką;
  • Galimybė prijungti pažangius mechanizmus prijungimo perkrovos kontrolei;
  • Pralaidumo numatymo metodų naudojimas kiekviena kryptimi, siekiant užtikrinti optimalų paketų siuntimo intensyvumą, neleidžiant patekti į perkrovos būseną, kai prarandami paketai;
  • Žymus našumo ir pralaidumo padidėjimas, palyginti su TCP. Įrodyta, kad naudojant vaizdo įrašų paslaugas, pvz., „YouTube“, QUIC 30 % sumažina pakartotinio buferio operacijas žiūrint vaizdo įrašus.

Tarp HTTP/1.1 specifikacijos pakeitimų galima pastebėti draudimą izoliuotai naudoti carriage return (CR) simbolį už kūno ribų su turiniu, t.y. Protokolo elementuose CR simbolis gali būti naudojamas tik kartu su eilutės tiekimo simboliu (CRLF). Suskirstytų užklausų išdėstymo algoritmas buvo patobulintas, siekiant supaprastinti pridedamų laukų ir sekcijų su antraštėmis atskyrimą. Pridėtos dviprasmiško turinio tvarkymo rekomendacijos, siekiant blokuoti „HTTP užklausų kontrabandos“ atakas, kurios leidžia mums įsitraukti į kitų naudotojų užklausų turinį sraute tarp priekinės ir užpakalinės sistemos.

HTTP/2.0 specifikacijos naujinys aiškiai apibrėžia TLS 1.3 palaikymą. Nebenaudojama prioritetų nustatymo schema ir susiję antraštės laukai. Nenaudojamas ryšio su HTTP/1.1 atnaujinimo mechanizmas paskelbtas pasenusiu. Sumažinti laukų pavadinimų ir reikšmių tikrinimo reikalavimai. Siūlomi naudoti kai kurie anksčiau rezervuoti rėmelių tipai ir parametrai. Tiksliau apibrėžti su ryšiu susiję draudžiami antraštės laukai.

Šaltinis: opennet.ru

Добавить комментарий