Uniform Resource Identifier (URI)
A Uniform Resource Identifier (URI) is a string of characters designed for unambiguous identification of resources on the Internet. URIs serve as a universal system for naming and locating resources, allowing them to be referenced in a consistent and globally unique manner.
History and Development
- The concept of URIs evolved from the need to uniquely identify resources on the early Internet. The initial frameworks for what would become URIs were part of the development of the World Wide Web in the early 1990s by Sir Tim Berners-Lee.
- The term "URI" was formalized in 1994 with the publication of RFC 1630, which was later superseded by RFC 2396 in 1998. Subsequent updates have refined the specification, with the current standard being RFC 3986, published in January 2005.
Components of a URI
A URI typically consists of several components:
- Scheme: This identifies the protocol used to access the resource (e.g., "http", "ftp", "mailto").
- Authority: Often includes the domain name and sometimes port number, user information, and password.
- Path: Indicates the hierarchical path to the resource on the server.
- Query: Optional part containing parameters for dynamic content generation.
- Fragment: Identifies a secondary resource or a specific portion within the primary resource.
Types of URIs
- URL (Uniform Resource Locator): A subset of URI that provides the means to locate a resource by describing its primary access mechanism (e.g., http://example.com).
- URN (Uniform Resource Name): A persistent, location-independent identifier for a resource (e.g., urn:isbn:0-486-27557-4).
Importance and Applications
- URIs are crucial for web navigation, enabling browsers to fetch resources from servers.
- They are used in web services, APIs, and linked data to provide a consistent way of referencing resources.
- URIs are essential in the context of the Semantic Web, where they help in establishing relationships between data on the web.
Standards and Specifications
- RFC 3986 is the primary standard governing URIs, specifying their syntax, components, and usage.
- Additional standards like RFC 6570 (URI Template) extend the functionality of URIs for templating.
External Links
Related Topics