QPACK HTTP/3: stream может ждать заголовки при уже полученных данных
Фотография конкретного исполнения не приложена.
Независимость потоков QUIC не гарантирует немедленную обработку каждого HTTP-запроса. Сжатые заголовки способны ссылаться на информацию, которая ещё идёт по другому stream. Такое ожидание нужно отличать от потери тела запроса.
RFC 9204 задаёт Required Insert Count и состояние blocked при недостатке записей dynamic table у decoder. Количество потенциально заблокированных streams ограничивается SETTINGS_QPACK_BLOCKED_STREAMS. Это отдельная зависимость сжатия, а не обычный byte credit прикладного stream.
Encoder выбирает компромисс между эффективностью сжатия и риском ожидания. Ссылки на ещё не полученные entries могут уменьшить переданные байты, но при loss или reordering задержать обработку. Поэтому меньший объём headers не всегда означает меньшую задержку короткой операции.
В приёмке сопоставляют field sections, insert counts и продвижение encoder stream. Проверяют задержку под предусмотренными условиями потерь. Итог должен показывать и объём передачи, и время готовности запроса к обработке. Общее утверждение об отсутствии transport head-of-line blocking не исключает конкретного ожидания QPACK dependency.
Основание — Numbered QUIC/HTTP3/QPACK RFCs; base version1 and version2 extension identified per task, разделы RFC9204 2.1.2 Blocked Streams; Required Insert Count; SETTINGS_QPACK_BLOCKED_STREAMS. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Основание — указанные номерные RFC QUIC, HTTP/3 и расширений. Реальная поддержка версий, транспортные параметры, библиотека и настройки сети не проверялись. Это план интерпретации и приёмки; пакеты, рабочие соединения, firewall и сервисы не изменялись.