A Cloudflare megvalósította az HTTP/3 támogatásáért felelős modult az NGINX-ben.

A Cloudflare vállalat készítette modul a HTTP/3 protokoll támogatásának biztosításához az NGINX-ben. A modul a Cloudflare által fejlesztett könyvtárra épül. quiche a QUIC és HTTP/3 szállítási protokoll implementálásával. A quiche kódja Rust nyelven íródott, de magát a modult az NGINX-hez C nyelven fejlesztették, és dinamikus linkeléssel hivatkozik a könyvtárra. Az eredmények nyíltak BSD licenc alatt.

A fordításhoz elegendő letölteni kódra fordít. az nginx 1.16-ot és a kódot a quiche könyvtárat, majd újra kell fordítani az nginx-et a «--with-http_v3_module --with-quiche=..../quiche» opciókkal. A fordítás során a TLS támogatásának a BoringSSL könyvtáron kell alapulnia («--with-openssl=..../quiche/deps/boringssl»), az OpenSSL használata jelenleg nem támogatott. A kapcsolatok fogadásához a konfigurációba hozzá kell adni a listen direktívát a «quic» flaggel (például «listen 443 quic reuseport»).

A kliensprogramokban a HTTP/3 támogatása már be lett építve a Chrome Canary kísérleti verzióiba és a curl eszközbe. A szerveroldalon eddig korlátozott képességű különálló tesztelési megoldásokra volt szükség.A HTTP/3 feldolgozási lehetősége az nginx-ben jelentősen leegyszerűsíti a HTTP/3 támogatással rendelkező szerverek telepítését, és lehetővé teszi az új protokoll tesztelésének könnyebb bevezetését. A HTTP/3 hivatalos támogatás megjelenése az nginx várható 1.17.x ágon 6-12 hónapon belül várható.

Emlékezzünk, hogy a HTTP/3 a QUIC protokoll használatát standardizálja a HTTP/2 számára. A protokoll QUIC Az éjszakai build-ekben a Firefox, amely az alapját képezi a 2022. január 7-én megjelenő Firefox 72-nek, támogatja a HTTP/3-at.

Fő jellemzői QUIC:

  • Magas biztonság, amely hasonló a TLS-hez (lényegében a QUIC lehetővé teszi a TLS használatát az UDP-n üstökölve);
  • A folyam integritásának ellenőrzése, amely megakadályozza a csomagok elvesztését;
  • A kapcsolat azonnali létrehozásának lehetősége (0-RTT, körülbelül 75%-os esetekben az adatokat közvetlenül a kapcsolati csomag elküldése után lehet átkonvertálni) és minimalizálva a késleltetést a kérés küldése és a válasz megérkezése között (RTT, Round Trip Time);
  • Nem használja ugyanazt a szekvenciális számot egy csomag újraküldésekor, ami lehetővé teszi a kapott csomagok egyértelmű azonosítását és a timeoutok elkerülését;
  • Csomag elvesztése csak az ahhoz kapcsolódó folyamat szállítását befolyásolja, és nem állítja le az adatokat a párhuzamosan átkonvertált folyamatok szállításában;
  • Hibaellenőrző eszközök, amelyek minimalizálják a késéseket az elveszett csomagok újraküldése miatt. Speciális hibaellenőrző kódok használata csomagszinten a vesztes csomagok újraküldésének szükségességének csökkentésére.
  • A kriptográfiai blokkok határai a QUIC csomagok határaival össze vannak hangolva, ezáltal csökkenti a csomagvesztések hatását a következő csomagok tartalmának dekódolására;
  • Nincsenek problémák a TCP sorok blokkolásával;
  • Támogatja a kapcsolati azonosítót, amely lehetővé teszi a mobil kliensek számára a visszakapcsolódási idő csökkentését;
  • A kapcsolati túlterhelés-ellenőrzési mechanizmusok kiterjesztett lehetőségeinek csatlakoztatása;
  • Sávszélesség-előrejelzési technikák használata mindkét irányban a csomagok optimális küldési intenzitásának biztosítása érdekében, elkerülve a túlterheltségi állapotba való kerülést, amely csomagvesztést eredményez;
  • Észlelhető növekedés a teljesítményben és a sávszélességben a TCP-hez képest. Videószolgáltatások, például a YouTube esetében a QUIC alkalmazása 30%-kal csökkentette a videó nézése alatt a bufferelési műveletek számát.
  • Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster