Skip to content

CONCEPT Cited by 1 source

HTTP delta compression (dcb / dcz)

HTTP delta compression is the wire-format layer that carries the output of shared-dictionary compression over HTTP. Standardised by RFC 9842, it introduces two Content-Encoding tokens:

  • dcbdelta-compressed Brotli. The response body is the diff between the new response and a client-cached dictionary, compressed with [Brotli] using the dictionary as the reference.
  • dczdelta-compressed Zstandard. Same shape, but using Zstandard as the delta-compression algorithm.

How it fits into HTTP

Clients advertise support in Accept-Encoding:

Accept-Encoding: gzip, br, zstd, dcb, dcz

Client also tells the server which dictionary it has via Available-Dictionary: <hash>. Server picks the encoding: if the client advertised dcz and has a usable dictionary, the server can respond with Content-Encoding: dcz and a delta-compressed body. If not, the server falls back to plain gzip / br / zstd.

The delta-encoded body is not a self-contained compressed stream — the decoder needs the cached dictionary to reconstruct the full response. This is what distinguishes dcb / dcz from ordinary br / zstd.

Why two algorithms

Brotli and Zstandard have different compression-vs-CPU trade-offs; the RFC supports both and lets the client + server negotiate.

  • Brotli (dcb): slightly better compression on HTML/CSS/JS text at similar CPU, built-in static dictionary of web patterns.
  • Zstandard (dcz): faster compression at similar ratios, purpose-built for custom dictionaries (including client-cached-response-as-dictionary, which is RFC 9842's use case).

Cloudflare's lab test numbers (see sources/2026-04-17-cloudflare-shared-dictionaries-compression-that-keeps-up-with-the-agent) report dcz: 272 KB → 2.6 KB (97 % over gzip), with ~20 ms TTFB penalty and 81-89 % download-completion improvement.

Cache-variant impact

Because Available-Dictionary is part of cache keys in CDN-level implementations (e.g. systems/cloudflare-shared-dictionaries Phase 1 passthrough), the same URL can yield multiple cached variants — one per (Accept-Encoding, Available-Dictionary) pair. This is the cache-variant explosion phenomenon and is the principal reason shared-dictionary compression is difficult to deploy without a CDN.

Not to be confused with

  • Traditional HTTP 206 Partial Content / range requests — range requests let a client fetch a byte range of a known response, not a delta between two different responses. Orthogonal mechanism.
  • HTTP/2 / HTTP/3 header compression (HPACK / QPACK) — compresses headers across requests on the same connection; doesn't touch response bodies.
  • Content-Encoding: gzip / br / zstd — standard stateless compression, no dictionary, each response compressed from scratch.
  • Git delta compression — delta compression inside Git pack files, candidate pairs chosen by path-trailing-16-chars heuristic. Same idea (delta-against-similar-object) at a different layer.

Seen in

Last updated · 200 distilled / 1,178 read