Read typed parameters
02Each list member has an identifier plus optional semicolon parameters. Structured Fields assign types: Tokens are unquoted identifiers, Strings are quoted text, and Integers are whole numbers.
error=connection_timeout is a recognised Token. The unfamiliar x-note parameter is ignored; the core error remains readable.
Source for this drawing: RFC 9209 · Read RFC section 2.1 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
All parameters are optional. Unrecognised parameters MUST be ignored; they do not invalidate a recognised error merely because an extension is unfamiliar.
- All parameters are optional. Unrecognised parameters MUST be ignored; they do not invalidate a recognised error merely because an extension is unfamiliar.
- error is a Token; next-hop is a String or Token; received-status MUST be an Integer; details is a String.
- next-protocol MUST be a Token or Byte Sequence containing an ALPN (Application-Layer Protocol Negotiation) identifier. If ASCII Token form is possible, that form MUST be used; the identifier does not prove ALPN negotiation occurred.
Each drawing state is a separate syntax example. RFC 9209§2.1.5 prints a quoted error value despite §2.1.1 requiring a Token; reported technical erratum 9168 notes this inconsistency. These examples follow §2.1.1, without treating the reported erratum as verified. This guide does not implement a complete Structured Fields parser.
Read the RFC section ↗