RFC 3986 / START HERE
URI syntax, before the details
URI: Uniform Resource Identifier
A URI identifies a resource using a structured string. Familiar web addresses are examples; schemes, hosts, paths, and other parts give the string its meaning.
The idea in one picture
An identifier names a resource
Its parts are interpreted
A reference can be resolved
A simplified picture of the idea; the chapters explain the actual mechanisms.
Why it exists
Applications need consistent rules for parsing, comparing, and resolving identifiers instead of treating an address as arbitrary text.
A familiar example
A browser resolves a relative link such as ../photos against the address of the page you are reading.
Helpful background
You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.
What you’ll learn next
Begin with chapter one, or choose a topic.
- The five URI componentsA URI is parsed into scheme, authority, path, query, and fragment before its meaning is interpreted.→
- Escape data, preserve delimitersPercent encoding represents an octet with a percent sign and two hexadecimal digits.→
- Resolve a relative referenceResolution merges a reference with a base URI and removes dot segments in the defined order.→
- Authority has its own structureUser information, host, and port are separate subcomponents; IP literals need brackets.→
- Normalize only what is safeDifferent strings can identify the same resource, but generic normalization has limits.→
- An identifier can misleadA visually persuasive URI can contain an authority different from the one a reader expects.→
This introduction explains RFC 3986 (2005). Read the original RFC ↗