Компания Cloudflare открыла код H3i, утилиты для тестирования HTTP/3

Компания Cloudflare объявила об открытии исходного кода инструментария h3i, включающего утилиту командной строки и библиотеку функций для низкоуровневого тестирования и отладки серверных реализаций протокола HTTP/3. Утилита может использоваться для оценки поведения серверов HTTP/3, определения уровня соответствия требованиям спецификаций и проверки реагирования на внештатные ситуации. Код утилиты написан на языке Rust и открыт под лицензией BSD.

Утилита может использоваться в качестве клиента HTTP/3, предоставляющего расширенные возможности для полного управления каналом связи. Например, h3i позволяет отправлять в любой поток HTTP/3 и в любом порядке кадры, включающие как корректное, так и не корректное содержимое. Все действия сохраняются в логе, который в дальнейшем может использоваться для повторного воспроизведения сеанса.

Входящая в состав библиотека может применяться для написания автоматизированных тестов, проверяющих корректность поддержки HTTP/3 при разработке серверов HTTP/3 и оценке работы своих систем и сервисов, в том числе при отправке некорректных запросов и внесении аномальных изменений в потоки данных (например, отправке бинарных кадров с заголовками не в том порядке или указании в заголовке Content-Length размера, не соответствующего фактическому объёму данных).

Диагностика HTTP/3 затруднена из-за усложнения протокола, в котором в качестве транспорта используется базирующийся на UDP протокол QUIC и применяются достаточно сложные механизмы управления потоками, распараллеливания операций, расстановки приоритетов, мультиплексирования соединений, двунаправленной передачи данных и упаковки информации, заголовков, настроек и команд в бинарные кадры.

Release. Ссылка here.