status enum Filter by normalized IANA registration status; returned spelling stays source-exact.
Complete pinned IANA HTTP field-name registry with status, Structured Field type, references, search and case-insensitive lookup.
Authoritative reference data or standards computation
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
status | enum | default: any allowed: any | permanent | provisional | deprecated | obsoleted example: deprecated | Filter by normalized IANA registration status; returned spelling stays source-exact. |
structuredType | enum | default: any allowed: any | dictionary | list | item | token | none example: dictionary | Filter by RFC 9651 Structured Field type, or 'none' for rows without one. |
search | string | allowed: 1 – 128 example: digest | Case-insensitive substring search across name, reference and comments. |
status enum Filter by normalized IANA registration status; returned spelling stays source-exact.
structuredType enum Filter by RFC 9651 Structured Field type, or 'none' for rows without one.
search string Case-insensitive substring search across name, reference and comments.
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
count | int | default: all matches allowed: 1 – 100 example: 3 | Limit the number of returned records (1–100). Defaults to all matches. |
fields | list | example: name,status | Return only these fields (comma-separated). Mutually exclusive with 'exclude'. |
exclude | list | example: comments | Return all fields except these (comma-separated). |
format | enum | default: json allowed: json | ndjson | csv example: csv | Response format: json envelope, ndjson (one record per line) or csv. |
pretty | boolean | default: false example: true | Pretty-print the JSON response. |
unwrap | boolean | default: false example: true | Drop the envelope: return the raw array/object without data/meta wrapper. |
count int Limit the number of returned records (1–100). Defaults to all matches.
fields list Return only these fields (comma-separated). Mutually exclusive with 'exclude'.
exclude list Return all fields except these (comma-separated).
format enum Response format: json envelope, ndjson (one record per line) or csv.
pretty boolean Pretty-print the JSON response.
unwrap boolean Drop the envelope: return the raw array/object without data/meta wrapper.
| Field | Type | Description | Example |
|---|---|---|---|
name | string | HTTP field name exactly as registered by IANA. | Accept |
status | string | IANA registration status, preserving the source CSV's spelling. | permanent |
structuredType nullable | string | RFC 9651 Structured Field type (Dictionary, List, Item or Token), or null when unregistered. | List |
reference | string | Specification reference copied from the pinned IANA registry row. | [RFC 9110, Section 12.5.1: HTTP Semantics] |
comments nullable | string | IANA registry comment, or null when the row has no comment. | (reserved) |
name string HTTP field name exactly as registered by IANA.
example: Accept
status string IANA registration status, preserving the source CSV's spelling.
example: permanent
structuredType string nullable RFC 9651 Structured Field type (Dictionary, List, Item or Token), or null when unregistered.
example: List
reference string Specification reference copied from the pinned IANA registry row.
example: [RFC 9110, Section 12.5.1: HTTP Semantics]
comments string nullable IANA registry comment, or null when the row has no comment.
example: (reserved)
/api/http-fields?status=deprecated {
"data": [
{
"name": "Accept-Charset",
"status": "deprecated",
"structuredType": null,
"reference": "[RFC 9110, Section 12.5.2: HTTP Semantics]",
"comments": null
},
{
"name": "C-PEP-Info",
"status": "deprecated",
"structuredType": null,
"reference": "[PEP - an Extension Mechanism for HTTP]",
"comments": "[Status change of HTTP experiments to Historic]"
},
{
"name": "Content-ID",
"status": "deprecated",
"structuredType": null,
"reference": "[The HTTP Distribution and Replication Protocol]",
"comments": null
},
{
"name": "Differential-ID",
"status": "deprecated",
"structuredType": null,
"reference": "[The HTTP Distribution and Replication Protocol]",
"comments": null
},
{
"name": "Expect-CT",
"status": "deprecated",
"structuredType": null,
"reference": "[RFC 9163: Expect-CT Extension for HTTP]",
"comments": "Obsoleted by [IESG]\n [HTTPBIS]"
},
{
"name": "Pragma",
"status": "deprecated",
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} /api/http-fields?structuredType=dictionary {
"data": [
{
"name": "CDN-Cache-Control",
"status": "permanent",
"structuredType": "Dictionary",
"reference": "[RFC 9213: Targeted HTTP Cache Control]",
"comments": "Cache directives targeted at content delivery networks"
},
{
"name": "Content-Digest",
"status": "permanent",
"structuredType": "Dictionary",
"reference": "[RFC 9530, Section 2: Digest Fields]",
"comments": null
},
{
"name": "Priority",
"status": "permanent",
"structuredType": "Dictionary",
"reference": "[RFC 9218: Extensible Prioritization Scheme for HTTP]",
"comments": null
},
{
"name": "Repr-Digest",
"status": "permanent",
"structuredType": "Dictionary",
"reference": "[RFC 9530, Section 3: Digest Fields]",
"comments": null
},
{
"name": "Signature",
"status": "permanent",
"structuredType": "Dictionary",
"reference": "[RFC 9421, Section 4.2: HTTP Message Signatures]",
"comments": null
},
{
"name": "Signature-Input",
"status": "permanent",
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} /api/http-fields?search=digest&count=20 {
"data": [
{
"name": "Content-Digest",
"status": "permanent",
"structuredType": "Dictionary",
"reference": "[RFC 9530, Section 2: Digest Fields]",
"comments": null
},
{
"name": "Digest",
"status": "obsoleted",
"structuredType": null,
"reference": "[RFC 3230: Instance Digests in HTTP]",
"comments": "Obsoleted by [RFC 9530, Section 1.3: Digest Fields]"
},
{
"name": "Repr-Digest",
"status": "permanent",
"structuredType": "Dictionary",
"reference": "[RFC 9530, Section 3: Digest Fields]",
"comments": null
},
{
"name": "Unencoded-Digest",
"status": "permanent",
"structuredType": "Dictionary",
"reference": "[RFC-ietf-httpbis-unencoded-digest-05, Section 3: HTTP Unencoded Digest]",
"comments": null
},
{
"name": "Want-Content-Digest",
"status": "permanent",
"structuredType": "Dictionary",
"reference": "[RFC 9530, Section 4: Digest Fields]",
"comments": null
},
{
"name": "Want-Digest",
"status": "obsoleted",
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} | Parameter | Type | Default & allowed | Description |
|---|---|---|---|
name
required
| string | allowed: 1 – 128 example: Content-Type | Registered HTTP field name; matching is case-insensitive. |
name string required Registered HTTP field name; matching is case-insensitive.
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
fields | list | example: name,status | Return only these fields (comma-separated). Mutually exclusive with 'exclude'. |
exclude | list | example: comments | Return all fields except these (comma-separated). |
pretty | boolean | default: false example: true | Pretty-print the JSON response. |
unwrap | boolean | default: false example: true | Drop the envelope: return the raw array/object without data/meta wrapper. |
fields list Return only these fields (comma-separated). Mutually exclusive with 'exclude'.
exclude list Return all fields except these (comma-separated).
pretty boolean Pretty-print the JSON response.
unwrap boolean Drop the envelope: return the raw array/object without data/meta wrapper.
| Field | Type | Description | Example |
|---|---|---|---|
name | string | HTTP field name exactly as registered by IANA. | Accept |
status | string | IANA registration status, preserving the source CSV's spelling. | permanent |
structuredType nullable | string | RFC 9651 Structured Field type (Dictionary, List, Item or Token), or null when unregistered. | List |
reference | string | Specification reference copied from the pinned IANA registry row. | [RFC 9110, Section 12.5.1: HTTP Semantics] |
comments nullable | string | IANA registry comment, or null when the row has no comment. | (reserved) |
name string HTTP field name exactly as registered by IANA.
example: Accept
status string IANA registration status, preserving the source CSV's spelling.
example: permanent
structuredType string nullable RFC 9651 Structured Field type (Dictionary, List, Item or Token), or null when unregistered.
example: List
reference string Specification reference copied from the pinned IANA registry row.
example: [RFC 9110, Section 12.5.1: HTTP Semantics]
comments string nullable IANA registry comment, or null when the row has no comment.
example: (reserved)
/api/http-fields/lookup?name=content-type {
"data": {
"name": "Content-Type",
"status": "permanent",
"structuredType": null,
"reference": "[RFC 9110, Section 8.3: HTTP Semantics]",
"comments": null
},
"meta": {
"endpoint": "http-fields",
"route": "/lookup",
"params": {
"name": "Content-Type"
},
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} /api/http-fields/lookup?name=* {
"data": {
"name": "*",
"status": "permanent",
"structuredType": null,
"reference": "[RFC 9110, Section 12.5.5: HTTP Semantics]",
"comments": "(reserved)"
},
"meta": {
"endpoint": "http-fields",
"route": "/lookup",
"params": {
"name": "*"
},
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} A complete, source-preserving snapshot of the IANA Hypertext Transfer Protocol Field Name Registry. Every CSV row is included, including permanent, provisional, deprecated and obsoleted names; the optional Structured Type column follows RFC 9651 and can be Dictionary, List, Item or Token.
The list route composes status, structuredType and free-text search filters. Status filtering is case-insensitive because four Fetch Metadata rows in the pinned IANA CSV spell Permanent with an uppercase P; the returned status deliberately preserves that source spelling instead of silently rewriting registry data. Lookup is case-insensitive because HTTP field names are case-insensitive.
This is a dated, bundled registry snapshot: it performs no request-time fetch. The committed refresh script downloads the IANA CSV and XML metadata, validates every column/status/type, records the CSV SHA-256 and regenerates the typed dataset deterministically.
Yes. The bundled snapshot contains every row in the pinned IANA Field Name CSV, with its source status, Structured Field type, reference and comment.
No. /lookup?name=content-type resolves the registered Content-Type row because HTTP field names are case-insensitive.
It is IANA's optional RFC 9651 classification: Dictionary, List, Item or Token. A null value means the registry has not assigned a Structured Field type.
scripts/refresh-http-fields.mjs fetches the official CSV and XML metadata, validates the complete source and regenerates the typed file with its update date and SHA-256.
Evaluate RFC 9110 conditional requests in the required precedence order, including strong/weak ETags, wildcard resources, 304 and 412 decisions.
The complete IANA HTTP status code registry with practical descriptions, defining RFCs and a retryable flag — list by category or look up a single code.
The complete current IANA HTTP Method Registry with safe and idempotent flags — filter the list or look up one canonical method token.
Parse and resolve bounded RFC 9110 byte Range sets, plus validate satisfied, unknown-length and unsatisfied Content-Range field values.
Parse RFC 9110 Accept media ranges and deterministically select the best available representation using specificity, parameters and q weights.
Parse and serialize RFC 9651 structured field values — items, lists, dictionaries, parameters, dates and display strings — with exact type reporting.