Cloudflare ha anunciado el código abierto del kit de herramientas h3i, que incluye una utilidad de línea de comandos y una biblioteca de funciones para pruebas de bajo nivel y depuración de implementaciones de servidor del protocolo HTTP/3. La utilidad se puede utilizar para evaluar el comportamiento de los servidores HTTP/3, determinar el nivel de cumplimiento de las especificaciones y probar las respuestas a situaciones de emergencia. El código de la utilidad está escrito en Rust y está abierto bajo la licencia BSD.
La utilidad se puede utilizar como un cliente HTTP/3, proporcionando capacidades avanzadas para un control completo del canal de comunicación. Por ejemplo, h3i le permite enviar marcos que contengan contenido correcto e incorrecto a cualquier flujo HTTP/3 y en cualquier orden. Todas las acciones se guardan en un registro, que luego se puede utilizar para reproducir la sesión.
La biblioteca incluida se puede utilizar para escribir pruebas automatizadas que verifican la corrección del soporte de HTTP/3 durante el desarrollo. servidores HTTP/3 y evaluar el rendimiento de sus sistemas y servicios, incluso al enviar solicitudes incorrectas y realizar cambios anormales en los flujos de datos (por ejemplo, enviar marcos binarios con encabezados fuera de orden o especificar un tamaño en el encabezado Content-Length que no corresponde al volumen real de datos).
El diagnóstico de HTTP/3 es difícil debido a la complejidad del protocolo, que utiliza el protocolo QUIC basado en UDP como transporte y utiliza mecanismos bastante complejos para gestionar flujos, paralelizar operaciones, priorizar, multiplexar conexiones, transferir datos bidireccionales y empaquetar información. encabezados, configuraciones, etc. comandos en marcos binarios.
Fuente: opennet.ru
