URI scheme

URI scheme

In the field of computer networking, a URI scheme is the top level of the Uniform Resource Identifier (URI) naming structure. All URIs and absolute URI references are formed with a scheme name, followed by a colon character (":"), and the remainder of the URI called (in the outdated RFCs 1738 and 2396, but not the current STD 66/RFC 3986) "the scheme-specific part". The syntax and semantics of the scheme-specific part are left largely to the specifications governing individual schemes, subject to certain constraints such as reserved characters and how to "escape" them.

URI schemes are sometimes erroneously referred to as "protocols", or specifically as URI protocols or URL protocols, since most were originally designed to be used with a particular protocol, and often have the same name. The http scheme, for instance, is generally used for interacting with Web resources using HyperText Transfer Protocol. Today, URIs with that scheme are also used for other purposes, such as RDF resource identifiers and XML namespaces, that are not related to the protocol. Furthermore, some URI schemes are not associated with any specific protocol (e.g. "file") and many others do not use the name of a protocol as their prefix (e.g. "news").

URI schemes should be registered with IANA, although non-registered schemes are used in practice. RFC 4395 describes the procedures for registering new URI schemes.

Generic syntax

Internet standard [http://rfc.net/std0066.html STD 66] (also RFC 3986) defines the generic syntax to be used in all URI schemes. Every URI is defined as consisting of four parts, as follows:

: [ ? ] [ # ]

The scheme name consist of a letter followed by any combination of letters, digits, and the plus ("+"), period ("."), or hyphen ("-") characters; and is terminated by a colon (":").

The hierarchical part of the URI is intended to hold identification information hierarchical in nature. Usually this part begins with a double forward slash ("//"), followed by an authority part and an optional path. The authority part holds an optional user information part terminated with "@" (e.g. username:password@), a hostname (i.e. domain name or IP address), and an optional port number preceded by a colon ":". The path part is a sequence of segments (conceptually similar to directories, though not necessarily representing them) separated by a forward slash ("/"). Each segment can contain parameters separated from it using a semicolon (";"), though this is rarely used in practice.

The query is an optional part separated with a question mark, which contains additional identification information which is not hierarchical in nature. The query string syntax is not generically defined, but is commonly organized as a sequence of = pairs separated by a semicolon [RFC 1866 section 8.2.1 : by Tim Berners-Lee in 1995 encourages CGI authors to support ';' in addition to '&'.] [ [http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.2.2 HTML 4.01 Specification: Implementation, and Design Notes] : "CGI implementors support the use of ";" in place of "&" to save authors the trouble of escaping "&" characters in this manner."] [ [http://www.w3.org/MarkUp/html-spec/html-spec_foot.html#FOOT26 Hypertext Markup Language - 2.0] "CGI implementors are encouraged to support the use of ';' in place of '&' " ] or separated by an ampersand, e. g. key1=value1&key2=value2&key3=value3 or key1=value1;key2=value2;key3=value3.

The fragment is an optional part separated from the front parts by a hash ("#"). It holds additional identifying information that provides direction to a secondary resource, e.g. a section heading in an article identified by the remainder of the URI. When the primary resource is an HTML document, the fragment is often a named anchor tag.


The following are two example URIs and their component parts (taken loosely from RFC 3986 — STD 66):

foo://username:password@example.com:8042/over/there/index.dtb;type=animal?name=ferret#nose / ________________/_________/ __/_________/ ___/ _/ _________/ _________/ __/
| | | | | | | |
scheme userinfo hostname port path filename extension parameter(s) query fragment
________________________ / / urn:example:animal:ferret:nose

Official IANA-registered schemes

The official URI schemes registered with the IANA follow.

Unofficial but common URI schemes

External links

* [http://www.iana.org/assignments/uri-schemes.html Official IANA Registry of URI Schemes]
* [http://esw.w3.org/topic/UriSchemes/ More information, including many more schemes]

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Data URI scheme — The data URI scheme is a URI scheme (Uniform Resource Identifier scheme) that provides a way to include data in line in web pages as if they were external resources. It tends to be simpler than other inclusion methods, such as MIME with cid or… …   Wikipedia

  • about URI scheme — about:blank redirects here. For the spyware variant aboutblank , see CoolWebSearch#Variants. About: redirects here. For other uses, see about; for the Wikipedia about page, see Wikipedia:about. about is an internal URI scheme (also known as a URL …   Wikipedia

  • Feed URI scheme — In computing, the feed: URI scheme (sometimes referred to, somewhat imprecisely, as the feed protocol; see Protocol (computing)) is a non standard URI scheme designed to facilitate subscription to web feeds; specifically, it is intended that a… …   Wikipedia

  • Magnet URI scheme — Magnet icon The magnet: URI scheme is a draft open standard defining a URI scheme for magnet links, which are mainly used to reference resources available for download via peer to peer networks. Such a link typically identifies a file not by… …   Wikipedia

  • Sips URI scheme — The SIPS URI scheme adheres to the syntax of the SIP URI, although the scheme string is sips rather than sip . SIPS allows resources to specify that they should be reached securely. It mandates that each hop over which the request is forwarded up …   Wikipedia

  • Data URI scheme — Le Data URI scheme est un Schéma d URI, dans le contexte d Internet, qui contient directement des données. L IETF décrit ce schéma dans le RFC 2397[1]. Le schéma est le suivant : data:[<mediatype>][;base64],<data> Un… …   Wikipédia en Français

  • Ed2k URI scheme — In computing, ed2k links are hyperlinks used to denote files stored within the eDonkey P2P network. Many programs, such as eDonkey2000, eMule, Hybrid, MLDonkey, and others using the eDonkey file sharing protocol, may be used to manage files… …   Wikipedia

  • File URI scheme — The file: URL is a URL schema specified in RFC 1630 and RFC 1738, typically used to retrieve files from within one s own computer. A file: URL takes the form of file:// host / path where host is the fully qualified domain name of the system on… …   Wikipedia

  • Scheme — may refer to:* Scheme (programming language), a minimalist, multi paradigm dialect of Lisp * Scheme (mathematics), an important concept in algebraic geometry * Scheme (linguistics), a figure of speech that changes a sentence s structureystematic… …   Wikipedia

  • Schéma d'URI — En informatique, un schéma d’URI est le premier niveau de la structure de nommage des identifiants uniformes de ressources (URI). Toutes les URIs sont construites à partir d’un nom de schéma, suivi de deux points (« : ») puis du reste… …   Wikipédia en Français