HTTP/3.0 je dobio predloženi standardni status

IETF (Internet Engineering Task Force), koji je odgovoran za razvoj Internet protokola i arhitekture, završio je formiranje RFC-a za HTTP/3.0 protokol i objavio povezane specifikacije pod identifikatorima RFC 9114 (protokol) i RFC 9204 ( QPACK tehnologija kompresije zaglavlja za HTTP/3) . HTTP/3.0 specifikacija je dobila status “Predloženog standarda”, nakon čega će početi rad na davanju RFC statusa nacrta standarda (Draft Standard), što zapravo znači potpunu stabilizaciju protokola i uzimanje u obzir svih dati komentari. Istovremeno, objavljene su ažurirane verzije specifikacija za HTTP/1.1 (RFC 9112) i HTTP/2.0 (RFC 9113) protokole, kao i dokumenti koji definišu semantiku HTTP zahtjeva (RFC 9110) i zaglavlja kontrole HTTP keširanja (RFC 9111).

HTTP/3 protokol definira korištenje QUIC (Quick UDP Internet Connections) protokola kao transporta za HTTP/2. QUIC je proširenje UDP protokola koje podržava multipleksiranje više veza i pruža metode šifriranja ekvivalentne TLS/SSL-u. Protokol je kreirao Google 2013. godine kao alternativu kombinaciji TCP+TLS za Web, rješavajući probleme s dugim postavljanjem veze i vremenom pregovaranja u TCP-u i eliminirajući kašnjenja kada se paketi izgube tokom prijenosa podataka.

HTTP/3.0 je dobio predloženi standardni status

Trenutno je podrška za QUIC i HTTP/3.0 već implementirana u svim popularnim web pretraživačima (u Chromeu, Firefoxu i Edgeu, HTTP/3 podrška je omogućena prema zadanim postavkama, a u Safariju zahtijeva postavku “Napredne > Eksperimentalne funkcije > HTTP/3” biti omogućen). Na strani servera, HTTP/3 implementacije su dostupne za nginx (u posebnoj grani iu obliku zasebnog modula), Caddy, IIS i LiteSpeed. HTTP/3 podršku takođe pruža Cloudflare mreža za isporuku sadržaja.

Ključne karakteristike QUIC-a:

  • Visoka sigurnost, slična TLS-u (u stvari, QUIC pruža mogućnost korištenja TLS-a preko UDP-a);
  • Kontrola integriteta toka kako bi se spriječio gubitak paketa;
  • Mogućnost trenutnog uspostavljanja veze (0-RTT, u približno 75% slučajeva podaci se mogu prenijeti odmah nakon slanja paketa za podešavanje veze) i obezbjeđivanje minimalnih kašnjenja između slanja zahtjeva i prijema odgovora (RTT, Round Trip Time);
    HTTP/3.0 je dobio predloženi standardni status
  • Korištenje različitog broja sekvence prilikom ponovnog slanja paketa, čime se izbjegava dvosmislenost u identifikaciji primljenih paketa i otklanja vremensko ograničenje;
  • Gubitak paketa utiče samo na isporuku toka koji je sa njim povezan i ne zaustavlja isporuku podataka u tokovima koji se prenose paralelno preko trenutne veze;
  • Alati za ispravljanje grešaka koji minimiziraju kašnjenja zbog ponovnog prijenosa izgubljenih paketa. Upotreba posebnih kodova za ispravljanje grešaka na nivou paketa kako bi se smanjile situacije koje zahtijevaju ponovni prijenos izgubljenih paketnih podataka.
  • Granice kriptografskih blokova su usklađene sa granicama QUIC paketa, što smanjuje uticaj gubitka paketa na dekodiranje sadržaja sledećih paketa;
  • Nema problema sa blokiranjem TCP reda;
  • Podrška za ID veze za smanjenje vremena ponovnog povezivanja za mobilne klijente;
  • Mogućnost povezivanja naprednih mehanizama za kontrolu preopterećenja konekcije;
  • Korištenje tehnika predviđanja propusnog opsega u svakom smjeru kako bi se osigurao optimalan intenzitet slanja paketa, sprječavajući prelazak u stanje zagušenja, u kojem dolazi do gubitka paketa;
  • Značajno povećanje performansi i propusnosti u odnosu na TCP. Za video usluge kao što je YouTube, pokazalo se da QUIC smanjuje operacije rebaferiranja prilikom gledanja videa za 30%.

Među promjenama u HTTP/1.1 specifikaciji može se uočiti zabrana izolovane upotrebe znaka za povratak (CR) izvan tijela sa sadržajem, tj. U elementima protokola, CR znak se može koristiti samo u sprezi sa znakom za prijelaz na red (CRLF). Algoritam rasporeda zahtjeva u komadima je poboljšan kako bi se pojednostavilo odvajanje priloženih polja i sekcija sa zaglavljima. Dodane su preporuke za rukovanje dvosmislenim sadržajem kako bismo blokirali napade „krijumčarenja HTTP zahtjeva“, koji nam omogućavaju da se uvučemo u sadržaj zahtjeva drugih korisnika u toku između frontenda i backenda.

Ažuriranje HTTP/2.0 specifikacije eksplicitno definira podršku za TLS 1.3. Zastarjela šema prioriteta i pridružena polja zaglavlja. Neiskorišteni mehanizam za ažuriranje veze sa HTTP/1.1 je proglašen zastarjelim. Zahtjevi za provjeru naziva polja i vrijednosti su smanjeni. Neki prethodno rezervirani tipovi okvira i parametri su predloženi za korištenje. Zabranjena polja zaglavlja koja se odnose na vezu su preciznije definisana.

izvor: opennet.ru

Dodajte komentar