A Firefox éjszakai buildjei mostantól támogatják a HTTP/3-at

В éjszakai építkezések A Firefox, amely a Firefox 72 január 7-re tervezett megjelenésének alapja lesz, tette hozzá HTTP/3 protokoll támogatás. Alapértelmezés szerint a HTTP/3 le van tiltva, és ehhez aktiválni kell a „network.http.http3.enabled” opciót az about:config fájlban.

A Firefox HTTP/3 támogatása a Mozilla által fejlesztett projekten alapul neqo, amely kliens és szerver megvalósítást biztosít a QUIC protokollhoz. A HTTP/3 és QUIC támogatás összetevőkódja Rust nyelven van írva.
A kliensszoftverből már a HTTP/3 kísérleti támogatása is elérhető tette hozzá Chrome-ban és curl-ben, szerverek számára pedig űrlapon érhető el модуля nginx és teszt szerver könyvtár alapú quiche (végrehajtás QUIC és HTTP/3 Rust-ban a Cloudflare-től). A HTTP/3 kliensek működésének tesztelésére elindított számos tesztoldal, amelyek többsége még nem nyílik meg megfelelően a Firefoxban (a HTTP/3 jelenleg folyamatban van specifikáció tervezet és nincs teljesen szabványosított).

Emlékezzünk vissza, hogy a HTTP/3 szabványosítja a QUIC protokoll használatát a HTTP/2 átviteleként. Jegyzőkönyv QUIC (Quick UDP Internet Connections) 2013 óta fejlesztette ki a Google a TCP+TLS kombináció alternatívájaként a weben, amely megoldja a TCP-kapcsolatok hosszú beállítási és egyeztetési idejével kapcsolatos problémákat, és kiküszöböli a késéseket, amikor a csomagok elvesznek az adatátvitel során. 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 főbb Jellemzők QUIC:

  • 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 kb. 75%-ában az adatok közvetlenül a kapcsolatbeállító csomag elküldése után továbbíthatók), és minimális késéseket biztosít a kérés elküldése és a válasz fogadása között (RTT, Round Trip Time) ;
  • Csomag újraküldésekor ne használja ugyanazt a sorszámot, ami lehetővé teszi, hogy elkerülje a kétértelműséget a fogadott csomagok meghatározása során, és megszabaduljon 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;
  • Érezhető növekedés teljesítmény é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 a video-újrapufferelési műveleteket.

Forrás: opennet.ru

Hozzászólás