RESET_STREAM QUIC прекращает передачу, но не откатывает уже отправленные данные
Фотография конкретного исполнения не приложена.
Отмена запроса часто отображается пользователю одним действием. В транспортном протоколе она имеет более узкий смысл. Остановка stream не гарантирует отмену изменения, которое удалённое приложение уже успело выполнить.
RFC 9000 связывает завершение stream с final size, включая RESET_STREAM. Получатель использует этот размер для учёта flow control даже при аварийном завершении. Отмена не позволяет забыть уже использованные offsets и считать ранее переданные байты несуществовавшими.
RESET_STREAM и STOP_SENDING относятся к предусмотренным направлениям передачи и не являются универсальной командой транзакционного rollback. Обратное направление или другие streams могут иметь собственное состояние. Приложению нужно отдельно определить, когда отмена действительно прекращает полезную операцию.
В приёмке отменяют запрос до обработки и после предусмотренной точки принятия. Сопоставляют transport state с итогом приложения и учётом credit. Отчёт должен показать допустимые частичные результаты. Один reset в трассе не доказывает, что сервер не получил команду и не изменил состояние до завершения потока.
Основание — Numbered QUIC/HTTP3/QPACK RFCs; base version1 and version2 extension identified per task, разделы RFC9000 3 Stream States; 4.5 Stream Final Size; RESET_STREAM; STOP_SENDING. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Основание — указанные номерные RFC QUIC, HTTP/3 и расширений. Реальная поддержка версий, транспортные параметры, библиотека и настройки сети не проверялись. Это план интерпретации и приёмки; пакеты, рабочие соединения, firewall и сервисы не изменялись.