HTTP/3.0 saņēma piedāvāto standarta statusu

IETF (Internet Engineering Task Force), kas ir atbildīgs par interneta protokolu un arhitektūras izstrādi, ir pabeidzis HTTP/3.0 protokola RFC izveidi un publicējis saistītās specifikācijas ar identifikatoriem RFC 9114 (protocol) un RFC 9204 ( QPACK galvenes saspiešanas tehnoloģija HTTP/3) . HTTP/3.0 specifikācija ir saņēmusi “Piedāvātā standarta” statusu, pēc kura tiks uzsākts darbs, lai RFC piešķirtu standarta projekta (Standarta projekts) statusu, kas faktiski nozīmē pilnīgu protokola stabilizāciju un ņemot vērā visus izteiktajiem komentāriem. Vienlaikus tika publicētas atjauninātas HTTP/1.1 (RFC 9112) un HTTP/2.0 (RFC 9113) protokolu specifikāciju versijas, kā arī dokumenti, kas definē HTTP pieprasījumu semantiku (RFC 9110) un HTTP kešatmiņas vadības galvenes. (RFC 9111).

HTTP/3 protokols definē QUIC (ātro UDP interneta savienojumu) protokola izmantošanu kā HTTP/2 transportu. QUIC ir UDP protokola paplašinājums, kas atbalsta vairāku savienojumu multipleksēšanu un nodrošina TLS/SSL līdzvērtīgas šifrēšanas metodes. Protokolu 2013. gadā izveidoja Google kā alternatīvu TCP+TLS kombinācijai tīmeklim, risinot problēmas ar ilgu savienojuma iestatīšanu un sarunu laiku TCP un novēršot aizkavi, kad datu pārsūtīšanas laikā tiek zaudētas paketes.

HTTP/3.0 saņēma piedāvāto standarta statusu

Pašlaik QUIC un HTTP/3.0 atbalsts jau ir ieviests visās populārajās tīmekļa pārlūkprogrammās (pārlūkā Chrome, Firefox un Edge HTTP/3 atbalsts ir iespējots pēc noklusējuma, un pārlūkprogrammā Safari tam nepieciešams iestatījums Advanced > Experimental Features > HTTP/3). jāiespējo). Servera pusē ir pieejamas HTTP/3 implementācijas priekš nginx (atsevišķā atzarā un atsevišķa moduļa veidā), Caddy, IIS un LiteSpeed. HTTP/3 atbalstu nodrošina arī Cloudflare satura piegādes tīkls.

Galvenās QUIC funkcijas:

  • Augsta drošība, līdzīga TLS (patiesībā QUIC nodrošina iespēju izmantot TLS, izmantojot UDP);
  • Straumes integritātes kontrole, lai novērstu pakešu zudumu;
  • Iespēja uzreiz izveidot savienojumu (0-RTT, aptuveni 75% gadījumu datus var pārsūtīt uzreiz pēc savienojuma iestatīšanas paketes nosūtīšanas) un nodrošināt minimālu aizkavi starp pieprasījuma nosūtīšanu un atbildes saņemšanu (RTT, Round Trip Time);
    HTTP/3.0 saņēma piedāvāto standarta statusu
  • Atkārtoti pārsūtot paketi, tiek izmantots cits kārtas numurs, kas ļauj izvairīties no neskaidrībām saņemto pakešu identificēšanā un atbrīvoties no taimauta;
  • Pakešu zudums ietekmē tikai ar to saistītās straumes piegādi un neaptur datu piegādi straumēs, kas tiek pārraidītas paralēli pašreizējā savienojumā;
  • Kļūdu labošanas rīki, kas samazina aizkavi zaudēto pakešu atkārtotas pārsūtīšanas dēļ. Īpašu kļūdu labošanas kodu izmantošana pakešu līmenī, lai samazinātu situācijas, kurās nepieciešams atkārtoti nosūtīt zaudētos pakešdatus.
  • Kriptogrāfisko bloku robežas tiek saskaņotas ar QUIC pakešu robežām, kas samazina pakešu zudumu ietekmi uz nākamo pakešu satura dekodēšanu;
  • Nav problēmu ar TCP rindas bloķēšanu;
  • Savienojuma ID atbalsts, lai samazinātu atkārtota savienojuma laiku mobilajiem klientiem;
  • Iespēja pieslēgt progresīvus mehānismus savienojuma pārslodzes kontrolei;
  • Izmantojot joslas platuma prognozēšanas paņēmienus katrā virzienā, lai nodrošinātu optimālu pakešu nosūtīšanas intensitāti, novēršot pārtīšanu pārslodzes stāvoklī, kurā notiek pakešu zudumi;
  • Ievērojams veiktspējas un caurlaidspējas pieaugums salīdzinājumā ar TCP. Ir pierādīts, ka tādiem video pakalpojumiem kā YouTube, QUIC samazina atkārtotas buferizācijas darbības, skatoties videoklipus par 30%.

Starp HTTP/1.1 specifikācijas izmaiņām var atzīmēt aizliegumu atsevišķi izmantot carriage return (CR) rakstzīmi ārpus pamatteksta ar saturu, t.i. Protokola elementos CR rakstzīmi var izmantot tikai kopā ar rindas padeves rakstzīmi (CRLF). Sadalītā pieprasījuma izkārtojuma algoritms ir uzlabots, lai vienkāršotu pievienoto lauku un sadaļu atdalīšanu ar galvenēm. Pievienoti ieteikumi neskaidra satura apstrādei, lai bloķētu “HTTP pieprasījumu kontrabandas” uzbrukumus, kas ļauj mums iesaistīties citu lietotāju pieprasījumu saturā plūsmā starp priekšgalu un aizmugursistēmu.

HTTP/2.0 specifikācijas atjauninājums skaidri definē TLS 1.3 atbalstu. Novecojusi prioritāšu noteikšanas shēma un saistītie galvenes lauki. Neizmantotais mehānisms savienojuma atjaunināšanai ar HTTP/1.1 ir pasludināts par novecojušu. Samazinātas prasības lauku nosaukumu un vērtību pārbaudei. Izmantošanai tiek piedāvāti daži iepriekš rezervēti kadru veidi un parametri. Precīzāk ir definēti ar savienojumu saistītie aizliegtie galvenes lauki.

Avots: opennet.ru

Pievieno komentāru