Cloudflare har meddelat att de har öppnat källkoden för verktyget h3i, som inkluderar ett kommandoradsverktyg och ett bibliotek av funktioner för låg-nivå testning och debug av serverimplementationer av protokollet HTTP/3. Verktyget kan användas för att utvärdera beteendet hos HTTP/3-servrar, bestämma nivån av överensstämmelse med specifikationerna och kontrollera svaren vid oförutsedda situationer. Koden för verktyget är skriven i programmeringsspråket Rust och är öppen under BSD-licens.
Verktyget kan användas som en HTTP/3-klient, vilket ger avancerade möjligheter för fullständig kontroll över kommunikationskanalen. Till exempel tillåter h3i att skicka ramar i vilken som helst HTTP/3-ström och i vilken ordning som helst, inklusive både korrekt och inkorrekt innehåll. Alla åtgärder lagras i en logg som senare kan användas för att återskapa sessionen.
Det ingående biblioteket kan användas för att skriva automatiserade tester som kontrollerar korrekt stöd för HTTP/3 under utveckling. servrar HTTP/3 och utvärdering av prestandan hos sina system och tjänster, inklusive vid sändning av felaktiga förfrågningar och införande av abnormaliteter i datastreamar (till exempel att skicka binära ramar med rubriker i fel ordning eller ange i rubriken Content-Length en storlek som inte överensstämmer med den faktiska datavolymen).
Diagnostisering av HTTP/3 är komplicerat på grund av protokollets komplexitet, där transportprotokollet QUIC som baseras på UDP används, och där ganska komplexa mekanismer för flödeshantering, parallellisering av operationer, prioritering, multiplexering av anslutningar, tvåvägsdatasändning och paketering av information, rubriker, inställningar och kommandon i binära ramar tillämpas.
Källa: opennet.ru
