HTTP/3.0 sai ehdotetun vakiotilan

Internet-protokollien ja -arkkitehtuurin kehittämisestä vastaava IETF (Internet Engineering Task Force) on saanut päätökseen HTTP/3.0-protokollan RFC:n muodostamisen ja julkaissut siihen liittyvät spesifikaatiot tunnisteilla RFC 9114 (protokolla) ja RFC 9204 ( QPACK-otsikon pakkaustekniikka HTTP/3:lle) . HTTP/3.0-spesifikaatio on saanut ”ehdotetun standardin” tilan, minkä jälkeen aloitetaan työ, jotta RFC:lle saadaan standardiluonnos (Draft Standard), mikä tarkoittaa itse asiassa protokollan täydellistä vakauttamista ja ottaen huomioon kaikki tehdyt kommentit. Samalla julkaistiin päivitetyt versiot HTTP/1.1 (RFC 9112) ja HTTP/2.0 (RFC 9113) protokollien spesifikaatioista sekä HTTP-pyyntöjen (RFC 9110) ja HTTP-välimuistin ohjausotsikoiden semantiikan määrittävät asiakirjat. (RFC 9111).

HTTP/3-protokolla määrittää QUIC (Quick UDP Internet Connections) -protokollan käytön HTTP/2:n siirtona. QUIC on UDP-protokollan laajennus, joka tukee useiden yhteyksien multipleksointia ja tarjoaa TLS/SSL:ää vastaavia salausmenetelmiä. Protokollan loi Google vuonna 2013 vaihtoehdoksi TCP+TLS-yhdistelmälle Webissä. Se ratkaisee pitkiin yhteydenmuodostus- ja neuvotteluaikoihin liittyviä ongelmia TCP:ssä ja eliminoi viiveitä pakettien katoamisesta tiedonsiirron aikana.

HTTP/3.0 sai ehdotetun vakiotilan

Tällä hetkellä QUIC- ja HTTP/3.0-tuki on jo otettu käyttöön kaikissa suosituissa verkkoselaimissa (Chromessa, Firefoxissa ja Edgessä HTTP/3-tuki on oletusarvoisesti käytössä ja Safarissa se vaatii Advanced > Experimental Features > HTTP/3 -asetuksen otettava käyttöön). Palvelinpuolella HTTP/3-toteutuksia on saatavilla nginxille (erilliseen haaraan ja erillisen moduulin muodossa), Caddylle, IIS:lle ja LiteSpeedille. HTTP/3-tukea tarjoaa myös Cloudflare-sisällönjakeluverkko.

QUICin tärkeimmät ominaisuudet:

  • Korkea turvallisuus, joka muistuttaa TLS:ää (lähinnä QUIC tarjoaa mahdollisuuden käyttää TLS:ää UDP:n yli);
  • Virran eheyden valvonta, joka estää pakettien katoamisen;
  • Mahdollisuus muodostaa yhteys välittömästi (0-RTT, noin 75 %:ssa tapauksista tiedot voidaan lähettää välittömästi yhteydenmuodostuspaketin lähettämisen jälkeen) ja tarjota minimaaliset viiveet pyynnön lähettämisen ja vastauksen vastaanottamisen välillä (RTT, Round Trip Time);
    HTTP/3.0 sai ehdotetun vakiotilan
  • Eri järjestysnumeron käyttäminen paketin uudelleenlähetyksessä, mikä välttää epäselvyyden vastaanotettujen pakettien tunnistamisessa ja poistaa aikakatkaisut;
  • Paketin katoaminen vaikuttaa vain siihen liittyvän virran toimitukseen, eikä se pysähdy nykyisen yhteyden kautta lähetettävien rinnakkaisten virtojen datan toimittamiseen;
  • Virheenkorjausominaisuudet, jotka minimoivat kadonneiden pakettien uudelleenlähetyksestä johtuvat viiveet. Erityisten virheenkorjauskoodien käyttö pakettitasolla vähentämään tilanteita, jotka edellyttävät kadonneen pakettidatan uudelleenlähetystä.
  • Salauslohkojen rajat kohdistetaan QUIC-pakettirajojen kanssa, mikä vähentää pakettihäviöiden vaikutusta seuraavien pakettien sisällön dekoodaukseen;
  • Ei ongelmia TCP-jonojen estämisessä;
  • Tuki yhteystunnisteelle, joka lyhentää mobiiliasiakkaiden yhteyden muodostamiseen kuluvaa aikaa;
  • Mahdollisuus yhdistää kehittyneitä yhteyden ruuhkanhallintamekanismeja;
  • Käyttää suuntakohtaisia ​​suorituskyvyn ennustustekniikoita varmistaakseen, että paketit lähetetään optimaalisilla nopeuksilla, mikä estää niitä ruuhkautumasta ja aiheuttamasta pakettien katoamista;
  • Merkittävä suorituskyvyn ja suorituskyvyn kasvu TCP:hen verrattuna. Videopalveluissa, kuten YouTubessa, QUIC:n on osoitettu vähentävän uudelleenpuskurointitoimintoja videoita katsottaessa 30 %.

HTTP/1.1-spesifikaation muutoksista voidaan mainita kielto käyttää CR (carriage return) -merkkiä erillään rungon ulkopuolella sisällön kanssa, ts. Protokollaelementeissä CR-merkkiä voidaan käyttää vain rivinsyöttömerkin (CRLF) yhteydessä. Pikkupyynnön asettelualgoritmia on parannettu yksinkertaistamaan liitettyjen kenttien ja otsikoiden osioiden erottamista. Lisätty suosituksia moniselitteisen sisällön käsittelyyn, jotta voidaan estää "HTTP Request Smuggling" -hyökkäykset, joiden avulla voimme kiilauttaa itsemme muiden käyttäjien pyyntöjen sisältöön käyttöliittymän ja taustajärjestelmän välisessä virtauksessa.

HTTP/2.0-spesifikaatiopäivitys määrittelee tuen TLS 1.3:lle. Priorisointimalli ja siihen liittyvät otsikkokentät poistettu käytöstä. Käyttämätön mekanismi yhteyden päivittämiseksi HTTP/1.1:llä on julistettu vanhentuneeksi. Kenttien nimien ja arvojen tarkistusvaatimukset on rajoitettu. Joitakin aiemmin varattuja kehystyyppejä ja parametreja ehdotetaan käytettäväksi. Yhteyteen liittyvät kielletyt otsikkokentät on määritelty tarkemmin.

Lähde: opennet.ru

Lisää kommentti