Visual RFC.
ALL RFCs / RFC 8141
Read the RFC ↗
RFC 8141 / UNIFORM RESOURCE NAMES

Encode carefully and preserve trust boundaries

08

A URN’s transport form is ASCII. Namespace-aware encoding, careful comparison and trustworthy resolution matter more than a familiar-looking label.

RFC 8141 · § 2.2EXAMPLE
4 / 4
04
Gate access independently of the name.

A resolver’s declaration or syntactically valid name does not establish trustworthy content or access permission. The chosen client waits for its trust and authorization checks before accepting a result.

Encode carefully and preserve trust boundariesA resolver’s declaration or syntactically valid name does not establish trustworthy content or access permission. The chosen client waits for its trust and authorization checks before accepting a result.Check trust and access separatelyReceived name / resolver declarationtrust + authorization checksNot accepted merely because syntax is validNames do not supply authentication

Source for this drawing: RFC 8141 · Read RFC section 2.2 ↗

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

A readable or well-formed name is neither authentication nor authorization.

  • Non-ASCII characters in transported URNs MUST be UTF-8 encoded and then percent-encoded. Software unaware of a namespace’s canonicalization and encoding rules MUST NOT construct URNs from its external identifiers.
  • Applications SHOULD display the complete URI; a friendly decoded display is not the required transport form. Visually similar letters can conceal different names.
  • Generic processors must treat an unrecognized scheme as opaque. Avoid relative references with urn: because URNs lack the required path semantics; syntax compatibility alone does not make every href or src useful.
  • Namespace definitions need to consider spoofing, incorrect comparison, leakage and harvesting. Resolution declarations can be misinformation; treat them as advisory and enforce applicable trust and access policies.
DETAILS

The café example illustrates the required byte-encoding step only, assuming a namespace has authorized that representation; it is not a general external-name-to-URN constructor. No Unicode normalization, resolver discovery, authentication, actual document retrieval or production namespace assignment occurs in the guide.

Read the RFC section ↗

All chapters in RFC 8141

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 ↗