Article 28 research and environment notes, checked 2026-09-23. Primary sources: - RFC 9114, HTTP/3, IETF, June 2022: https://www.rfc-editor.org/rfc/rfc9114.html Checked connection discovery, ALPN h3, TCP-based fallback advice, request streams, critical unidirectional streams, SETTINGS placement and HTTP frame mapping. - RFC 9204, QPACK, IETF, June 2022: https://www.rfc-editor.org/rfc/rfc9204.html Checked Required Insert Count, blocked decoding, encoder/decoder streams, SETTINGS_QPACK_BLOCKED_STREAMS and flow-control deadlock guidance. - RFC 9000, QUIC: A UDP-Based Multiplexed and Secure Transport, IETF, May 2021: https://www.rfc-editor.org/rfc/rfc9000.html Checked stream-local ordered delivery and stream/connection flow control. - RFC 9002, QUIC Loss Detection and Congestion Control, IETF, May 2021: https://www.rfc-editor.org/rfc/rfc9002.html Used to retain the connection-path congestion-control boundary from article 27. - curl project, docs/HTTP3.md, accessed 2026-09-23: https://github.com/curl/curl/blob/master/docs/HTTP3.md Checked current build backends and the need for an HTTP/3-capable build. Environment: - Python 3.12.3. - curl 8.5.0 with nghttp2/1.59.0; feature list does not contain HTTP3. - OpenSSL 3.0.13. - No nghttp3-client, h3client or quiche-client found on PATH. Claims retained: - HTTP/3 request/response pairs use client-initiated bidirectional QUIC streams. - Each endpoint has one HTTP control stream; SETTINGS is its first frame. - QPACK uses two additional unidirectional streams. - A field section blocks when Required Insert Count exceeds the decoder Insert Count. - QPACK dependency is distinct from stream byte gaps, QUIC flow control and shared congestion control. - A failed QUIC attempt can lead a client to a new TCP-based HTTP connection; it is not an in-place conversion of a QUIC connection. NOT_RUN: - Mature HTTP/3 client/server exchange, qlog and packet capture. - Fixed-condition HTTP/2 versus HTTP/3 loss comparison. - Real Alt-Svc caching and UDP-blocked fallback timing.