Keep a name when locations change
01A Uniform Resource Name, or URN, identifies a resource with an intent of persistence. A locator tells a client where a resource can currently be accessed.
Separate case: a namespace may provide only metadata, or may not intend any resolution. A well-formed name is not a guarantee that bytes can be downloaded.
Source for this drawing: RFC 8141 · Read RFC section 1.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.
A persistent name does not guarantee a working download link.
- URNs use the urn URI scheme and a managed namespace. A namespace is a collection of consistently assigned names; URI means Uniform Resource Identifier.
- Resolution can return current locators, metadata describing a resource, or a representation such as a document. Some URNs are not intended to resolve at all.
- A URN can outlive a particular location, but useful resolution still depends on maintained services. Retrieval can require authorization even when metadata is available.
All example-namespace mappings in this guide are hypothetical teaching fixtures, not live services or a promise that urn:example resolves. RFC 6963 reserves example for documentation, private testing and experimentation. This guide teaches RFC 8141 rather than a particular resolver protocol.
Read the RFC section ↗