Cloudflare heeft de broncode van de h3i-toolkit vrijgegeven, die een commandoregelprogramma en een bibliotheek van functies voor low-level tests en debugging van serverimplementaties van het HTTP/3-protocol bevat. De tool kan worden gebruikt om het gedrag van HTTP/3-servers te evalueren, de naleving van specificaties te controleren en de reactie op noodgevallen te testen. De code van de tool is geschreven in Rust en vrijgegeven onder de BSD-licentie.
De tool kan functioneren als een HTTP/3-client, die uitgebreide mogelijkheden biedt voor volledige controle over de communicatieroute. H3i laat bijvoorbeeld toe om frames, zowel correct als incorrect, naar elke HTTP/3-stroom en in elke volgorde te verzenden. Alle handelingen worden opgeslagen in een logboek, dat later kan worden gebruikt voor het herhalen van de sessie.
De bijbehorende bibliotheek kan worden gebruikt voor het schrijven van geautomatiseerde tests die de correcte ondersteuning van HTTP/3 bij de ontwikkeling controleren. servers HTTP/3 en de evaluatie van de prestaties van hun systemen en diensten, inclusief het verzenden van onjuiste verzoeken en het aanbrengen van anomale wijzigingen in datastromen (bijvoorbeeld het verzenden van binaire frames met headers in de verkeerde volgorde of het opgeven van een verkeerde Content-Length in de header die niet overeenkomt met het werkelijke volume gegevens).
Diagnostiek van HTTP/3 wordt bemoeilijkt door de complexiteit van het protocol, waarin de op UDP gebaseerde QUIC-protocol als transport wordt gebruikt en vrij geavanceerde mechanismen voor stroombeheer, parallelle verwerking van opdrachten, prioritering, multiplexing van verbindingen, bidirectionele gegevensoverdracht en het verpakken van informatie, headers, instellingen en commando's in binaire frames worden toegepast.
Bron: opennet.ru
