A HTTP/3.0 javasolt szabványos állapotot kapott

Az IETF (Internet Engineering Task Force), amely az internetes protokollok és architektúrák fejlesztéséért felelős, befejezte a HTTP/3.0 protokoll RFC kialakítását, és közzétette a kapcsolódó specifikációkat RFC 9114 (protokoll) és RFC 9204 ( QPACK fejléctömörítési technológia HTTP/3-hoz) . A HTTP/3.0 specifikáció megkapta a „Javasolt szabvány” státuszt, ezt követően megkezdődik a munka annak érdekében, hogy az RFC szabványtervezet státuszba kerüljön (Draft Standard), ami tulajdonképpen a protokoll teljes stabilizálását jelenti, és figyelembe véve az összes az elhangzott megjegyzéseket. Ezzel egy időben megjelentek a HTTP/1.1 (RFC 9112) és a HTTP/2.0 (RFC 9113) protokollok specifikációinak frissített változatai, valamint a HTTP kérések szemantikáját meghatározó dokumentumok (RFC 9110) és a HTTP gyorsítótárazási vezérlőfejlécek. (RFC 9111).

A HTTP/3 protokoll a QUIC (Quick UDP Internet Connections) protokoll használatát határozza meg a HTTP/2 átviteleként. A QUIC az UDP protokoll kiterjesztése, amely támogatja több kapcsolat multiplexelését, és a TLS/SSL-lel egyenértékű titkosítási módszereket biztosít. A protokollt 2013-ban a Google hozta létre a webes TCP+TLS kombináció alternatívájaként, amely megoldja a hosszú kapcsolatbeállítási és egyeztetési időket a TCP-ben, és kiküszöböli a késéseket, amikor a csomagok elvesznek az adatátvitel során.

A HTTP/3.0 javasolt szabványos állapotot kapott

Jelenleg a QUIC és a HTTP/3.0 támogatás már minden népszerű webböngészőben be van építve (a Chrome-ban, Firefoxban és Edge-ben a HTTP/3 támogatás alapértelmezés szerint engedélyezve van, a Safariban pedig a „Speciális > Kísérleti szolgáltatások > HTTP/3” beállítás szükséges engedélyezni kell). Szerver oldalon HTTP/3 implementációk érhetők el nginx-hez (külön ágban és külön modul formájában), Caddy-hez, IIS-hez és LiteSpeed-hez. A HTTP/3 támogatást a Cloudflare tartalomszolgáltató hálózat is biztosítja.

A QUIC főbb jellemzői:

  • Magas biztonság, hasonlóan a TLS-hez (valójában a QUIC lehetővé teszi a TLS használatát UDP-n keresztül);
  • Az adatfolyam integritásának ellenőrzése a csomagvesztés megelőzése érdekében;
  • Azonnali kapcsolat létrehozásának képessége (0-RTT, az esetek körülbelül 75%-ában az adatok a kapcsolatbeállító csomag elküldése után azonnal továbbíthatók), és minimális késleltetést biztosít a kérés elküldése és a válasz fogadása között (RTT, Round Trip Time) ;
    A HTTP/3.0 javasolt szabványos állapotot kapott
  • Eltérő sorszám használata egy csomag újraküldésekor, ami elkerüli a kétértelműséget a fogadott csomagok azonosítása során, és megszabadul az időtúllépésektől;
  • A csomagvesztés csak a hozzá tartozó adatfolyam kézbesítését érinti, és nem akadályozza meg az adatok kézbesítését az aktuális kapcsolaton keresztül párhuzamosan továbbított folyamokban;
  • Hibajavító eszközök, amelyek minimalizálják az elveszett csomagok újraküldése miatti késéseket. Speciális hibajavító kódok használata csomagszinten az elveszett csomagadatok újraküldését igénylő helyzetek csökkentése érdekében.
  • A kriptográfiai blokkhatárok igazodnak a QUIC csomaghatárokhoz, ami csökkenti a csomagvesztések hatását a következő csomagok tartalmának dekódolására;
  • Nincs probléma a TCP-sor blokkolásával;
  • Connection ID támogatás a mobil kliensek újracsatlakozási idejének csökkentése érdekében;
  • Speciális mechanizmusok csatlakoztatásának lehetősége a csatlakozás túlterhelés-szabályozására;
  • Sávszélesség-előrejelzési technikák alkalmazása minden irányban a csomagok küldésének optimális intenzitásának biztosítására, megakadályozva a torlódásos állapotba gurulást, amelyben a csomagok elvesznek;
  • Jelentős teljesítménynövekedés és átviteli sebesség a TCP-hez képest. Az olyan videoszolgáltatások esetében, mint a YouTube, a QUIC 30%-kal csökkenti az újrapufferelési műveleteket videók megtekintése közben.

A HTTP/1.1 specifikáció változásai közül kiemelhető a carriage return (CR) karakter izolált használatának tilalma a törzsön kívül tartalommal, pl. A protokollelemekben a CR karakter csak a soremelés karakterrel (CRLF) együtt használható. A csonkolt kérés elrendezési algoritmusa továbbfejlesztett, hogy leegyszerűsítse a csatolt mezők és a fejlécekkel rendelkező szakaszok szétválasztását. Javaslatok hozzáadva a félreérthető tartalmak kezeléséhez a „HTTP Request Smuggling” támadások blokkolása érdekében, amelyek lehetővé teszik számunkra, hogy beékeljük magunkat más felhasználók kéréseinek tartalmába a frontend és a backend közötti folyamatban.

A HTTP/2.0 specifikáció frissítése kifejezetten meghatározza a TLS 1.3 támogatását. Elavult a prioritási séma és a kapcsolódó fejlécmezők. A HTTP/1.1 kapcsolat frissítésére szolgáló, nem használt mechanizmust elavultnak nyilvánították. Csökkentett követelmények a mezőnevek és értékek ellenőrzéséhez. Néhány korábban lefoglalt kerettípus és paraméter használatára javasolt. A kapcsolathoz kapcsolódó tiltott fejlécmezők pontosabban definiáltak.

Forrás: opennet.ru

Hozzászólás