HTTP/3.0 ûntfong foarstelde standertstatus

De IETF (Internet Engineering Task Force), dy't ferantwurdlik is foar de ûntwikkeling fan ynternetprotokollen en arsjitektuer, hat de formaasje fan in RFC foar it HTTP/3.0-protokol foltôge en relatearre spesifikaasjes publisearre ûnder de identifiers RFC 9114 (protokol) en RFC 9204 ( QPACK header kompresje technology foar HTTP/3). De HTTP/3.0-spesifikaasje hat de status fan in "foarstelde standert" krigen, wêrnei't wurk sil begjinne om de RFC de status fan in ûntwerpstandert (Draft Standard) te jaan, wat eins in folsleine stabilisaasje fan it protokol betsjut en mei alle rekkening de opmerkingen makke. Tagelyk waarden bywurke ferzjes fan 'e spesifikaasjes foar de HTTP/1.1 (RFC 9112) en HTTP/2.0 (RFC 9113) protokollen publisearre, lykas dokuminten dy't de semantyk definiearje fan HTTP-fersiken (RFC 9110) en HTTP-caching-kontrôlekoppen (RFC 9111).

It HTTP/3-protokol definiearret it gebrûk fan it QUIC-protokol (Quick UDP Internet Connections) as transport foar HTTP/2. QUIC is in útwreiding fan it UDP-protokol dat multiplexing fan meardere ferbiningen stipet en fersiferingsmetoaden leveret lykweardich oan TLS/SSL. It protokol waard makke yn 2013 troch Google as in alternatyf foar de TCP + TLS kombinaasje foar it web, oplosse problemen mei lange ferbining opset en ûnderhannelings tiden yn TCP en elimineren fertraging as pakketten wurde ferlern by gegevens oerdracht.

HTTP/3.0 ûntfong foarstelde standertstatus

Op it stuit is QUIC- en HTTP/3.0-stipe al ymplementearre yn alle populêre webbrowsers (yn Chrome, Firefox en Edge is HTTP/3-stipe standert ynskeakele, en yn Safari fereasket it de ynstelling "Avansearre > Eksperimintele funksjes > HTTP/3" ynskeakele wurde). Oan 'e serverkant binne HTTP / 3-ymplemintaasjes beskikber foar nginx (yn in aparte tûke en yn 'e foarm fan in aparte module), Caddy, IIS en LiteSpeed. HTTP/3-stipe wurdt ek fersoarge troch it Cloudflare-ynhâldferlieningsnetwurk.

Wichtige funksjes fan QUIC:

  • Hege feiligens fergelykber mei TLS (yn essinsje biedt QUIC de mooglikheid om TLS oer UDP te brûken);
  • Flow-yntegriteitskontrôle, it foarkommen fan pakketferlies;
  • De mooglikheid om direkt in ferbining te meitsjen (0-RTT, yn likernôch 75% fan 'e gefallen kinne gegevens direkt nei it ferstjoeren fan it ferbiningsopsetpakket wurde oerdroegen) en soargje foar minimale fertragingen tusken it ferstjoeren fan in fersyk en it ûntfangen fan in antwurd (RTT, Round Trip Time);
    HTTP/3.0 ûntfong foarstelde standertstatus
  • It brûken fan in oar folchoardernûmer by it opnij ferstjoeren fan in pakket, wat ûndúdlikens foarkomt by it identifisearjen fan ûntfongen pakketten en elimineert timeouts;
  • It ferlies fan in pakket beynfloedet de levering fan allinich de stream dy't dêrmei ferbûn is en stopet net de levering fan gegevens yn parallelle streamen dy't troch de hjoeddeistige ferbining oerbrocht wurde;
  • Funksjes foar flaterkorreksje dy't fertragingen minimalisearje fanwege werútstjoering fan ferlerne pakketten. Gebrûk fan spesjale flaterkorreksjekoades op pakketnivo om situaasjes te ferminderjen dy't opnij oerdracht fan ferlerne pakketgegevens fereaskje.
  • Kryptografyske blokgrinzen wurde ôfstimd mei QUIC-pakketgrinzen, dy't de ynfloed fan pakketferlies fermindert op it dekodearjen fan de ynhâld fan folgjende pakketten;
  • Gjin problemen mei blokkearjen fan TCP-wachtrige;
  • Stipe foar ferbining identifier, dy't de tiid ferminderet dy't it nimt om in opnij ferbining te meitsjen foar mobile kliïnten;
  • Mooglikheid fan ferbining avansearre ferbining congestie kontrôle meganismen;
  • Brûkt per-rjochting trochstream foarsizzing techniken te garandearjen optimale pakket trochstjoere tariven, foar te kommen congestie en pakket ferlies;
  • Signifikante ferheging fan prestaasjes en trochfier yn ferliking mei TCP. Foar fideotsjinsten lykas YouTube, is sjen litten dat QUIC rebuffering operaasjes ferminderje by it besjen fan fideo's mei 30%.

Under de wizigingen yn 'e HTTP / 1.1-spesifikaasje kin men it ferbod op it isolearre gebrûk fan' e cartridge return (CR) karakter bûten it lichem mei ynhâld notearje, d.w.s. Yn protokol eleminten kin it CR karakter allinnich brûkt wurde yn gearhing mei de line feed karakter (CRLF). It algoritme foar chunked request layout is ferbettere om de skieding fan taheakke fjilden en seksjes mei kopteksten te ferienfâldigjen. Oanbefellings tafoege foar it behanneljen fan dûbelsinnige ynhâld om "HTTP Request Smuggling" oanfallen te blokkearjen, wêrtroch't wy ússels yn 'e ynhâld fan' e oanfragen fan oare brûkers yn 'e stream tusken de frontend en efterkant kinne wigge.

De HTTP/2.0-spesifikaasje-update definiearret eksplisyt stipe foar TLS 1.3. It prioritisaasjeskema en byhearrende koptekstfjilden ôfkarre. It net brûkte meganisme foar it bywurkjen fan de ferbining mei HTTP/1.1 is ferâldere ferklearre. Fermindere easken foar it kontrolearjen fan fjildnammen en wearden. Guon earder reservearre frame types en parameters wurde foarsteld foar gebrûk. De ferbeane koptekstfjilden yn ferbân mei de ferbining binne krekter definiearre.

Boarne: opennet.ru

Add a comment