Streamux: 전체 RFC 9113 (Go with C abi)

작성자

카테고리:

← 피드로
DEV Community · Alex Day · 2026-08-23 개발(SW)

Alex Day

Alex Day

Posted on Aug 23 Edited on Aug 24

Spent the last few weeks building an HTTP/2 server from scratch in Go.

Full RFC 9113 – framing, HPACK, stream state machine, flow control, TLS enforcement, 145/146 h2spec tests passing.

The fun part was RFC 9218 stream priorities. Browsers already send priority: u=N on every fetch. Most servers throw it away. I built a pluggable write scheduler that actually uses it – deficit round-robin across urgency levels, so hero images and nav get bandwidth before analytics pixels, on every flow-control window round.

50 concurrent streams, 16 KiB window: DRR finishes 40% faster than round-robin. Above-the-fold content lands first, tracking junk last. Exactly how it should work.

Also exports a C ABI (.so) so non-Go services can use it.

원문에서 계속 ↗