La empresa Cloudflare ha anunciado la apertura del código fuente de la herramienta h3i, que incluye una utilidad de línea de comandos y una biblioteca de funciones para realizar pruebas y depuración de bajo nivel de las implementaciones del protocolo HTTP/3 en servidores. La utilidad puede utilizarse para evaluar el comportamiento de los servidores HTTP/3, determinar el nivel de conformidad con las especificaciones y verificar la respuesta ante situaciones excepcionales. El código de la utilidad está escrito en el lenguaje Rust y se abre bajo la licencia BSD.
La utilidad puede usarse como cliente HTTP/3, proporcionando capacidades avanzadas para el control total del canal de comunicación. Por ejemplo, h3i permite enviar cuadros en cualquier flujo de HTTP/3 y en cualquier orden, incluyendo tanto contenido correcto como incorrecto. Todas las acciones se registran en un log que puede ser utilizado posteriormente para reproducir la sesión.
La biblioteca que forma parte de la herramienta puede ser utilizada para escribir pruebas automatizadas que verifiquen la correcta compatibilidad con HTTP/3 durante el desarrollo. servidores HTTP/3 y la evaluación del rendimiento de sus sistemas y servicios, incluyendo el envío de solicitudes incorrectas y la introducción de cambios anómalos en los flujos de datos (por ejemplo, enviando cuadros binarios con encabezados en un orden incorrecto o especificando en el encabezado Content-Length un tamaño que no coincide con el volumen real de datos).
El diagnóstico de HTTP/3 es complicado debido a la complejidad del protocolo, que utiliza QUIC basado en UDP como transporte y aplica mecanismos de control de flujos bastante complejos, paralelización de operaciones, establecimiento de prioridades, multiplexión de conexiones, transmisión bidireccional de datos y empaquetado de información, encabezados, configuraciones y comandos en cuadros binarios.
Fuente: opennet.ru
