Společnost Cloudflare oznámila otevření zdrojového kódu nástroje h3i, který zahrnuje příkazovou řádku a knihovnu funkcí pro nízkoúrovňové testování a ladění serverových implementací protokolu HTTP/3. Nástroj může být použit k posouzení chování serverů HTTP/3, k určení úrovně shody s požadavky specifikací a k ověření reakce na výjimečné situace. Kód nástroje je napsán v jazyce Rust a je otevřený pod licencí BSD.
Nástroj může být použit jako klient HTTP/3, který poskytuje rozšířené možnosti pro úplnou kontrolu komunikačního kanálu. Například h3i umožňuje zasílat do jakéhokoli proudu HTTP/3 a v jakémkoli pořadí rámce zahrnující jak správný, tak nesprávný obsah. Všechny akce jsou ukládány do protokolu, který může být později použit k opakování relace.
Součástí knihovny může být používána k psaní automatizovaných testů, které ověřují správnost podpory HTTP/3 při vývoji. servery HTTP/3 a hodnocení výkonu vlastních systémů a služeb, včetně odesílání nesprávných dotazů a provádění anomálních změn v datových tocích (například odesílání binárních rámců se záhlavími v nesprávném pořadí nebo uvedení velikosti v záhlaví Content-Length, která neodpovídá skutečnému objemu dat).
Diagnostika HTTP/3 je obtížná kvůli složitosti protokolu, který jako transportní vrstvu používá protokol QUIC založený na UDP a využívá poměrně složité mechanismy správy toků, paralelizace operací, stanovování priorit, multiplexování spojení, obousměrného přenosu dat a balení informací, záhlaví, nastavení a příkazů do binárních rámců.
Zdroj: opennet.ru
