Available-Dictionary
The HTTP Available-Dictionary request header signals to the server the client has a Compression dictionary available in storage and is ready to decompress responses encoded with the matching dictionary.
Usage
Compression dictionaries reduce payload size by replacing repeated patterns with references to a shared dictionary. Both parties must have the same dictionary for this to work. The client stores dictionaries from previous responses marked with the Use-As-Dictionary header. When making future requests, the client includes Available-Dictionary to declare which dictionaries the client holds.
The header value is a Structured
Field Byte
Sequence containing the SHA-256 hash of the
available dictionary encoded in Base64. The server
checks the hash
against dictionaries registered for the request path. When a match exists,
the server compresses the response using the referenced dictionary and marks
the encoding with Content-Encoding: dcb (dictionary
Brotli) or dcz (dictionary Zstandard).
The compression dictionary transport framework defines the header format, negotiation flow, and security requirements. The mechanism operates only in secure contexts (HTTPS).
Example
The client sends Available-Dictionary with the SHA-256 hash of a previously stored dictionary. The hash identifies the dictionary the client holds for the requested resource.
Available-Dictionary: :pZGm1Av0IEBKARczz7exkNYsZb8LzaMrV7J32a2fFG4=:
The server matches the hash, compresses the response using the referenced
dictionary, and indicates the encoding method with the dcb or dcz
value in Content-Encoding.
GET /api/data HTTP/1.1
Host: example.re
Available-Dictionary: :pZGm1Av0IEBKARczz7exkNYsZb8LzaMrV7J32a2fFG4=:
HTTP/1.1 200 OK
Content-Encoding: dcb
Content-Length: 1456
Takeaway
The Available-Dictionary header announces the client has a specific Compression dictionary available, identified by SHA-256 hash, enabling the server to compress responses using the matching dictionary for reduced bandwidth usage.
See also
- RFC 9842: Compression Dictionary Transport
- Use-As-Dictionary
- Dictionary-ID
- Content-Encoding
- Compression
- HTTP headers