HTTP Content Codings
A complete list of HTTP content coding tokens registered with IANA, as used in the Accept-Encoding and Content-Encoding HTTP headers. Each entry includes the coding token name, a plain-language description of the format or algorithm, and the authoritative RFC or W3C reference that defines it.
Quick fetch
Stable URL. CORS-enabled. No auth.
curl https://staticdata.dev/v1/http-content-codings.json
Or use as a typed import:
import { httpContentCodings } from "https://staticdata.dev/v1/http-content-codings.ts"
Formats
- JSON 1.8 KB
/v1/http-content-codings.json
min: 1.5 KB · /v1/http-content-codings.min.json
- CSV 1.0 KB
/v1/http-content-codings.csv
- TypeScript 2.0 KB
/v1/http-content-codings.ts
export const httpContentCodings
type ContentCoding = (typeof httpContentCodings)[number]
Schema
Each record in the dataset has the following shape.
| Field | Type | Description | Example |
|---|---|---|---|
| name | string | The content coding token (e.g. gzip, br, zstd) | gzip |
| description | string | Plain-language description of the coding or compression format | GZIP file format [RFC1952] |
| reference | string | Authoritative RFC or specification reference(s) | [RFC9110] |
Preview
First 10 records.
| name | description | reference |
|---|---|---|
| aes128gcm | AES-GCM encryption with a 128-bit content encryption key | [RFC8188] |
| br | Brotli Compressed Data Format | [RFC7932] |
| compress | UNIX "compress" data format [Welch, T., "A Technique for High Performance Data Compression", IEEE Computer 17(6), June 1984.] | [RFC9110] |
| dcb | "Dictionary-Compressed Brotli" data format. | [RFC9842] |
| dcz | "Dictionary-Compressed Zstandard" data format. | [RFC9842] |
| deflate | "deflate" compressed data ([RFC1951]) inside the "zlib" data format ([RFC1950]) | [RFC9110] |
| exi | W3C Efficient XML Interchange | [W3C Recommendation: Efficient XML Interchange (EXI) Format] |
| gzip | GZIP file format [RFC1952] | [RFC9110] |
| identity | Reserved | [RFC9110] |
| pack200-gzip | Network Transfer Format for Java Archives | [JSR 200: Network Transfer Format for Java][Kumar_Srinivasan][John_Rose] |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/http-content-codings.json | jq '.[0]' import type { ContentCoding } from "https://staticdata.dev/v1/http-content-codings.ts";
const res = await fetch("https://staticdata.dev/v1/http-content-codings.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const httpContentCodings: ContentCoding[] = await res.json();
console.log(httpContentCodings[0]); import urllib.request, json
with urllib.request.urlopen("https://staticdata.dev/v1/http-content-codings.min.json") as r:
httpContentCodings = json.load(r)
print(httpContentCodings[0]) package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://staticdata.dev/v1/http-content-codings.min.json")
if err != nil { panic(err) }
defer resp.Body.Close()
var data []map[string]any
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
panic(err)
}
fmt.Println(data[0])
} use serde_json::Value;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let body = ureq::get("https://staticdata.dev/v1/http-content-codings.min.json").call()?.into_string()?;
let data: Vec<Value> = serde_json::from_str(&body)?;
println!("{:?}", data.first());
Ok(())
} Sources and methodology
HTTP content codings identify transformation algorithms applied to a payload body, most commonly lossless compression. They appear in the Content-Encoding response header to indicate what encoding has been applied, and in the Accept-Encoding request header to advertise which codings the client supports. These tokens are standardised through the IANA HTTP Parameters registry and defined in RFCs produced by the IETF HTTP Working Group.
This dataset is sourced directly from the IANA HTTP content coding registry CSV, which is the single authoritative list, and contains all 13 registered codings as of October 2026. Each record preserves the original token name, description, and specification reference exactly as registered. Widely deployed codings include gzip (ubiquitous in HTTP/1.1 and HTTP/2), br (Brotli, offering better compression ratios for text), zstd (Zstandard, used in modern stacks for its speed-to-ratio balance), and deflate. Several entries (x-gzip, x-compress) are deprecated aliases retained for backward compatibility.
Note that the identity coding is a special reserved token meaning no transformation; it is not typically sent in headers but is referenced in the HTTP specification. The aes128gcm coding is used for end-to-end encryption of HTTP message payloads as defined in RFC 8188, not compression.
Versioning
URLs under /v1/ are stable: field names and types will not change in a way
that breaks consumers. Values can be corrected or records added when the upstream source
changes; schema-incompatible updates ship under a new version path. See the
http-content-codings changelog for this dataset's history.
Related datasets
More Web datasets
- aria-attributes
- aria-roles
- character-encodings
- csp-directives
- credit-card-types
- dns-record-types
- dom-events
- emoji
- emoji-shortcodes
- html-elements
- html-entities
- html-attributes
- input-types
- http-auth-schemes
- http-cache-directives
- http-headers
- http-versions
- iframe-sandbox-tokens
- ip-protocol-numbers
- keyboard-event-codes
- link-relations
- media-type-suffixes
- mime-types
- oauth-grant-types
- ports
- referrer-policies
- ip-special-blocks
- svg-elements
- tcp-flags
- tlds
- tls-cipher-suites
- tls-versions
- uri-schemes
- well-known-uris