A response body can arrive in pieces, and those pieces need not align with records or even character boundaries. Streaming permits useful work before the entire response arrives, but it shifts responsibility to framing, backpressure, cancellation, and partial-failure handling. A download has a related problem: copying a large file into browser memory just to trigger Save can defeat server streaming. These lessons follow a case activity feed and an evidence export through the complete byte-to-interface path, with explicit limits on memory and incomplete results.
Topics in this track
- Incremental Response Framing and UTF-8 — Decode and frame streamed records without assuming network chunks match lines or characters.
- Stream Backpressure and Bounded Work — Match reading speed to processing capacity instead of accumulating an unbounded queue.
- Stream Cancellation and Partial-Result Contract — Separate a completed feed from an aborted or truncated one, and make retry position explicit.
- Large Export Download and Integrity — Keep large exports out of browser memory when possible and verify a resumed artifact's identity.
Prerequisite paths
Fetch requests: separate HTTP failure, transport failure, and cancellation; Browser Execution and Resource Lifecycle; Accepted Operations and Status Resources.
Neighbor track
Complex Accessible Interactions.
Practice path
Build Project: streamed case activity and export and check decisions in Web Development: streams and interaction decisions quiz.
Further connections
Next.js Streaming, Suspense, and Error Recovery.
