Standard HTTP responses include Content-Length so the client knows how big the response is. Chunked transfer skips that — the server sends each chunk with its own size, terminating with a zero-size chunk signaling end. This lets servers stream data whose final length is unknowable in advance.
For VidPickr's /stream proxy: we receive bytes from YouTube's CDN and immediately forward them to the user. We don't know upfront how big the file will be (we could fetch HEAD to find out, but for live-CDN streaming the chunk-stream-as-we-go approach is simpler). The browser receives the bytes progressively and streams them to disk via the File System Access API.
Chunked encoding is also why progressive downloads work — you can start playing a video before fully downloading it because each chunk is independently parseable.
Common questions
Why doesn't chunked transfer support range requests?
Related terms
Range request (HTTP byte range)
A range request is an HTTP request that asks for a specific byte range of a file rather than the full thing.
Fragmented MP4
Fragmented MP4 (fMP4) is an MP4 variant where the file is split into many short chunks ("fragments"), each containing its own header.
VidPickr is a free, browser-based YouTube downloader. Every term in this glossary either describes how YouTube delivers video or why your downloads behave the way they do. Try the downloader →