HTTP/3.0 sai pakutud standardse oleku

IETF (Internet Engineering Task Force), mis vastutab Interneti-protokollide ja arhitektuuri arendamise eest, on lõpetanud HTTP/3.0 protokolli RFC moodustamise ja avaldanud sellega seotud spetsifikatsioonid identifikaatorite RFC 9114 (protokoll) ja RFC 9204 ( QPACK päise tihendamise tehnoloogia HTTP/3 jaoks). HTTP/3.0 spetsifikatsioon on saanud “Proposed Standard” staatuse, misjärel alustatakse tööd, et anda RFC-le standardi kavandi staatus (standardi kavand), mis tegelikult tähendab protokolli täielikku stabiliseerimist ja võttes arvesse kõiki tehtud kommentaarid. Samal ajal avaldati HTTP/1.1 (RFC 9112) ja HTTP/2.0 (RFC 9113) protokollide spetsifikatsioonide uuendatud versioonid, samuti dokumendid, mis määratlevad HTTP päringute (RFC 9110) semantika ja HTTP vahemälu juhtimise päised. (RFC 9111).

HTTP/3-protokoll määratleb protokolli QUIC (Quick UDP Internet Connections) kasutamise HTTP/2 transpordina. QUIC on UDP-protokolli laiendus, mis toetab mitme ühenduse multipleksimist ja pakub TLS/SSL-iga samaväärseid krüpteerimismeetodeid. Protokolli lõi 2013. aastal Google alternatiivina TCP+TLS-i kombinatsioonile veebis, lahendades probleeme pika ühenduse seadistamise ja läbirääkimisaegadega TCP-s ning kõrvaldades viivitused, kui andmeedastuse ajal paketid kaotsi lähevad.

HTTP/3.0 sai pakutud standardse oleku

Praegu on QUIC ja HTTP/3.0 tugi juba kõigis populaarsetes veebibrauserites juurutatud (Chrome'is, Firefoxis ja Edge'is on HTTP/3 tugi vaikimisi lubatud ning Safaris nõuab see seadistust "Advanced > Experimental Features > HTTP/3" olema lubatud). Serveri poolel on HTTP/3 juurutused saadaval nginxi (eraldi harus ja eraldi moodulina), Caddy, IIS ja LiteSpeed ​​jaoks. HTTP/3 tuge pakub ka Cloudflare'i sisuedastusvõrk.

QUIC-i põhifunktsioonid:

  • Kõrge turvalisus, mis sarnaneb TLS-iga (sisuliselt annab QUIC võimaluse kasutada TLS-i üle UDP);
  • Voo terviklikkuse kontroll, mis hoiab ära pakettide kadumise;
  • Võimalus koheselt luua ühendus (0-RTT, ligikaudu 75% juhtudest saab andmeid edastada kohe pärast ühenduse seadistuspaketi saatmist) ja tagada minimaalsed viivitused päringu saatmise ja vastuse saamise vahel (RTT, Round Trip Time);
    HTTP/3.0 sai pakutud standardse oleku
  • Erineva järjenumbri kasutamine paketi uuesti edastamisel, mis väldib vastuvõetud pakettide tuvastamisel ebaselgust ja vabaneb ajalõppudest;
  • Paketi kadumine mõjutab ainult sellega seotud voo edastamist ega peata andmete edastamist paralleelsetes voogudes, mis edastatakse praeguse ühenduse kaudu;
  • Veaparandusfunktsioonid, mis minimeerivad kadunud pakettide uuesti saatmisest tingitud viivitusi. Spetsiaalsete veaparanduskoodide kasutamine paketi tasemel, et vähendada olukordi, mis nõuavad kadunud pakettandmete uuesti edastamist.
  • Krüptograafiliste plokkide piirid joondatakse QUIC-pakettide piiridega, mis vähendab pakettide kadude mõju järgnevate pakettide sisu dekodeerimisele;
  • TCP järjekorra blokeerimisega probleeme pole;
  • Ühenduse identifikaatori tugi, mis vähendab mobiiliklientide taasühenduse loomiseks kuluvat aega;
  • Võimalus ühendada täiustatud ühenduse ülekoormuse kontrollimehhanisme;
  • Kasutab suunapõhiseid läbilaskevõime prognoosimise tehnikaid, et tagada pakettide saatmine optimaalse kiirusega, vältides nende ummistumist ja pakettide kadumist;
  • Märkimisväärne jõudluse ja läbilaskevõime kasv võrreldes TCP-ga. Videoteenuste (nt YouTube) puhul vähendab QUIC taaspuhverdamistoiminguid videote vaatamisel 30%.

HTTP/1.1 spetsifikatsiooni muudatuste hulgas võib märkida keeldu kasutada carriage return (CR) märgi isoleeritud kasutamist väljaspool keha koos sisuga, s.t. Protokollielementides saab CR-märki kasutada ainult koos reavahetuse märgiga (CRLF). Tükeldatud päringu paigutuse algoritmi on täiustatud, et lihtsustada manustatud väljade ja päistega jaotiste eraldamist. Lisatud on soovitused mitmetähendusliku sisu käsitlemiseks, et blokeerida HTTP-päringu smugeldamise rünnakud, mis võimaldavad meil kiiluda teiste kasutajate taotluste sisusse esi- ja taustaprogrammi vahelises voos.

HTTP/2.0 spetsifikatsiooni värskendus määratleb sõnaselgelt TLS 1.3 toe. Prioriteediskeem ja sellega seotud päiseväljad on aegunud. Kasutamata mehhanism ühenduse värskendamiseks HTTP/1.1-ga on kuulutatud aegunuks. Vähendatud nõuded väljade nimede ja väärtuste kontrollimisel. Kasutamiseks pakutakse välja mõned varem reserveeritud kaadritüübid ja parameetrid. Ühendusega seotud keelatud päiseväljad on täpsemalt määratletud.

Allikas: opennet.ru

Lisa kommentaar