HTTP/3.0 modtog foreslået standardstatus

IETF (Internet Engineering Task Force), som er ansvarlig for udviklingen af ​​internetprotokoller og arkitektur, har afsluttet dannelsen af ​​en RFC for HTTP/3.0-protokollen og offentliggjort relaterede specifikationer under identifikatorerne RFC 9114 (protokol) og RFC 9204 ( QPACK header komprimeringsteknologi til HTTP/3) . HTTP/3.0 specifikationen har fået status som "Proposed Standard", hvorefter der påbegyndes arbejdet med at give RFC status som et udkast til standard (Draft Standard), hvilket faktisk betyder en fuldstændig stabilisering af protokollen og under hensyntagen til alle de fremsatte kommentarer. Samtidig blev opdaterede versioner af specifikationerne for HTTP/1.1 (RFC 9112) og HTTP/2.0 (RFC 9113) protokollerne offentliggjort, samt dokumenter, der definerer semantikken for HTTP-anmodninger (RFC 9110) og HTTP-cachekontroloverskrifter (RFC 9111).

HTTP/3-protokollen definerer brugen af ​​QUIC (Quick UDP Internet Connections)-protokollen som en transport for HTTP/2. QUIC er en udvidelse af UDP-protokollen, der understøtter multipleksing af flere forbindelser og giver krypteringsmetoder svarende til TLS/SSL. Protokollen blev oprettet i 2013 af Google som et alternativ til TCP+TLS-kombinationen til nettet, der løser problemer med lang forbindelsesopsætning og forhandlingstider i TCP og eliminerer forsinkelser, når pakker går tabt under dataoverførsel.

HTTP/3.0 modtog foreslået standardstatus

I øjeblikket er QUIC og HTTP/3.0-understøttelse allerede implementeret i alle populære webbrowsere (i Chrome, Firefox og Edge er HTTP/3-understøttelse aktiveret som standard, og i Safari kræver det indstillingen "Avanceret > Eksperimentelle funktioner > HTTP/3" skal aktiveres). På serversiden er HTTP/3 implementeringer tilgængelige for nginx (i en separat gren og i form af et separat modul), Caddy, IIS og LiteSpeed. HTTP/3-understøttelse leveres også af Cloudflare-indholdsleveringsnetværket.

Nøglefunktioner ved QUIC:

  • Høj sikkerhed svarende til TLS (i det væsentlige giver QUIC mulighed for at bruge TLS over UDP);
  • Flowintegritetskontrol, forhindrer pakketab;
  • Evnen til øjeblikkeligt at etablere en forbindelse (0-RTT, i ca. 75 % af tilfældene kan data transmitteres umiddelbart efter afsendelse af forbindelsesopsætningspakken) og give minimale forsinkelser mellem afsendelse af en anmodning og modtagelse af et svar (RTT, Round Trip Time);
    HTTP/3.0 modtog foreslået standardstatus
  • Brug af et andet sekvensnummer ved gentransmission af en pakke, hvilket undgår tvetydighed i at identificere modtagne pakker og slipper af med timeouts;
  • Tab af en pakke påvirker kun leveringen af ​​den strøm, der er knyttet til den, og stopper ikke leveringen af ​​data i parallelle strømme, der transmitteres gennem den aktuelle forbindelse;
  • Fejlretningsfunktioner, der minimerer forsinkelser på grund af gentransmission af tabte pakker. Brug af specielle fejlkorrektionskoder på pakkeniveau for at reducere situationer, der kræver gentransmission af mistede pakkedata.
  • Kryptografiske blokgrænser er tilpasset QUIC-pakkegrænser, hvilket reducerer virkningen af ​​pakketab på afkodning af indholdet af efterfølgende pakker;
  • Ingen problemer med blokering af TCP-køer;
  • Understøttelse af forbindelsesidentifikator, som reducerer den tid, det tager at etablere en genforbindelse for mobile klienter;
  • Mulighed for tilslutning af avancerede mekanismer til kontrol af forbindelsesoverbelastning;
  • Bruger per-direction-gennemløbsprognoseteknikker for at sikre, at pakker sendes med optimale hastigheder, hvilket forhindrer dem i at blive overfyldte og forårsage pakketab;
  • Betydelig stigning i ydeevne og gennemløb sammenlignet med TCP. For videotjenester som f.eks. YouTube har QUIC vist sig at reducere tilbagesendelsesoperationer, når man ser videoer med 30 %.

Blandt ændringerne i HTTP/1.1-specifikationen kan man bemærke forbuddet mod isoleret brug af cartridge return (CR)-karakteren uden for kroppen med indhold, dvs. I protokolelementer kan CR-tegnet kun bruges sammen med line feed-tegnet (CRLF). Algoritmen for chunked request layout er blevet forbedret for at forenkle adskillelsen af ​​vedhæftede felter og sektioner med overskrifter. Tilføjede anbefalinger til håndtering af tvetydigt indhold for at blokere "HTTP Request Smuggling"-angreb, som giver os mulighed for at kile os ind i indholdet af andre brugeres anmodninger i flowet mellem frontend og backend.

HTTP/2.0-specifikationsopdateringen definerer eksplicit understøttelse af TLS 1.3. Udfasede prioriteringsskemaet og tilhørende overskriftsfelter. Den ubrugte mekanisme til opdatering af forbindelsen med HTTP/1.1 er blevet erklæret forældet. Reducerede krav til kontrol af feltnavne og værdier. Nogle tidligere reserverede rammetyper og parametre foreslås til brug. De forbudte overskriftsfelter relateret til forbindelsen er mere præcist definerede.

Kilde: opennet.ru

Tilføj en kommentar