GlossaryChunked transfer encoding

Chunked transfer encoding

Chunked transfer encoding is an HTTP/1.1 feature that lets a server send a response in pieces as they become ready, without knowing the total size in advance. In video streaming, it allows a CDN to forward parts of a live segment to the player while the encoder is still producing the rest. This is a key building block of low-latency DASH and some low-latency HLS setups.

Why it matters

In low-latency live streaming, every second spent waiting for a full segment adds to delay. Chunked transfer encoding lets video flow to viewers as it is produced, which can cut several seconds from live delay without changing the CDN-based delivery model.

How it works

  1. The server starts a response without stating the total file size.
  2. It sends data in pieces, each starting with its own size, as soon as each piece is ready.
  3. CDNs pass those pieces straight to the player instead of waiting for the whole file.
  4. A final zero-size chunk tells the player the response is complete.

How does chunked transfer encoding reduce latency?

It lets a player receive a live segment while the encoder is still creating it. Without it, the server must wait for a full segment, often several seconds long, before sending anything. With it, the first frames arrive almost immediately. Low-latency DASH relies on this, paired with CMAF chunks that each hold a fraction of a second of video.

Does HTTP/2 or HTTP/3 use chunked transfer encoding?

No. Chunked transfer encoding is specific to HTTP/1.1. HTTP/2 and HTTP/3 already send data in frames as it becomes available, so they deliver partial responses without needing it. For low-latency streaming, the effect is similar across versions, but CDN behavior and settings differ, so teams test each delivery path.

Where it's used

Live sports streamers and live event platforms use chunked transfer encoding to shave seconds off live delay, keeping fans closer to the TV broadcast and chat in step with the action.

By the numbers

  • Chunked transfer coding is defined in section 7.1 of RFC 9112, the HTTP/1.1 specification published in June 2022. (RFC 9112: HTTP/1.1)