Dictionary-ID header

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The HTTP Dictionary-ID request header references a dictionary that can be used in Compression Dictionary Transport to compress the server's response.

A server can indicate that a resource can be used as a dictionary by sending the Use-As-Dictionary header with the response. The server may include an id directive in the Use-As-Dictionary header, thus assigning an ID value to the dictionary. If the server does this, then when the browser requests a resource that can be compressed using the dictionary, the resource request must include the Dictionary-ID header, and its value must match the ID that was given in Use-As-Dictionary.

This allows the server to identify and find a dictionary that is referenced by some arbitrary key, rather than having to use the dictionary hash as a key (if that approach is used, the server will have to hash every response that includes the Use-As-Dictionary header just in case the resource might eventually be used as a dictionary).

Note that while the server can identify and locate the dictionary from its Dictionary-ID, it must still check the hash from the Available-Dictionary header to confirm that it is a correct match.

See the Compression Dictionary Transport guide for more information.

Syntax

http
Dictionary-ID: "<string-identifier>"

Directives

<string-identifier>

A string representing the dictionary's server-assigned ID.

Examples

For example, suppose the server has sent a Use-As-Dictionary header containing an id="dictionary-12345" directive:

http
Use-As-Dictionary: match="/js/app.*.js", id="dictionary-12345"

When the client requests a matching resource, it will include this id value in a Dictionary-ID header:

http
Accept-Encoding: gzip, br, zstd, dcb, dcz
Available-Dictionary: :pZGm1Av0IEBKARczz7exkNYsZb8LzaMrV7J32a2fFG4=:
Dictionary-ID: "dictionary-12345"

Specifications

Specification
Compression Dictionary Transport
# name-dictionary-id

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Dictionary-ID
Experimental
Chrome – Full support
Chrome 130 (Release date: 2024-10-15)
footnote Full support
Edge – Full support
Edge 130 (Release date: 2024-10-17)
footnote Full support
Firefox – No support
Firefox
footnote
footnote See bug 1917979
Opera – Full support
Opera 115 (Release date: 2024-11-27)
footnote Full support
Safari – No support
Safari
footnote No support
Chrome Android – Full support
Chrome Android 130 (Release date: 2024-10-15)
footnote Full support
Firefox for Android – No support
Firefox for Android
footnote
footnote See bug 1917979
Opera Android – Full support
Opera Android 86 (Release date: 2024-12-02)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
Samsung Internet – Full support
Samsung Internet 28 (Release date: 2025-04-02)
footnote Full support
WebView Android – Full support
WebView Android 130 (Release date: 2024-10-15)
footnote Full support
WebView on iOS – No support
WebView on iOS
footnote No support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.

See also