Visual RFC.
ALL RFCs / RFC 9209
Read the RFC ↗
RFC 9209 / PROXY DIAGNOSTICS

Read typed parameters

02

Each 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.

RFC 9209 · § 2.1EXAMPLE
4 / 4
Read typed parametersEach 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.Types give parameters meaningEdge; error=connection_timeout;x-note="demo"error: Token · still interpretedIgnore unrecognised x-noteKnown error remains readableUnknown parameters MUST be ignoredRFC9209 · chapter2 · state4 · fictional examples
04
Ignore an unknown extension

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 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
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.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

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.
DETAILS

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 ↗

All chapters in RFC 9209

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗