Uniform Resource Identifier


Uniform Resource Identifier

Ein Uniform Resource Identifier (Abk. URI; engl. für „einheitlicher Bezeichner für Ressourcen“) ist ein Identifikator und besteht aus einer Zeichenfolge, die zur Identifizierung einer abstrakten oder physischen Ressource dient. URIs werden zur Bezeichnung von Ressourcen (wie Webseiten, sonstigen Dateien, Aufruf von Webservices, aber auch z. B. E-Mail-Empfängern) im Internet und dort vor allem im WWW eingesetzt.

Ursprünglich führte Tim Berners-Lee den Begriff 1994 im RFC 1630 als Universal Resource Identifier ein. Erst später tauchte dann in offiziellen W3C-Dokumenten die Auflösung Uniform auf. Aus diesem Grund wird Universal gelegentlich – selbst in der Fachliteratur – als erster Namensbestandteil genannt.

URIs können als Zeichenfolge (kodiert mit einem Zeichensatz) in digitale Dokumente, insbesondere solche im HTML-Format eingebunden oder auch von Hand auf Papier aufgeschrieben werden. Einen Verweis von einer Webseite auf eine andere nennt man Hyperlink oder kurz Link.

Eine Erweiterung der nur aus druckbaren ASCII-Zeichen bestehenden URIs sind die Internationalized Resource Identifiers (IRIs).

Inhaltsverzeichnis

Aufbau

Nach dem aktuellen Standard RFC 3986 besteht ein URI aus fünf Teilen: scheme (Schema), authority (Anbieter), path (Pfad), query (Abfrage) und fragment (Teil), wovon nur scheme und path in jedem URI vorhanden sein müssen. Die generische Syntax ist

URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

Dabei steht hier-part für eine optionale authority und den path. Ist eine authority vorhanden, beginnt sie mit zwei Schrägstrichen, und der Pfad muss mit einem Schrägstrich beginnen. Der Standard verdeutlicht diese Komponenten mit zwei Beispielen:

  foo://example.com:8042/over/there?name=ferret#nose
  \_/   \______________/\_________/ \_________/ \__/
   |           |            |            |        |
scheme     authority       path        query   fragment
   |   _____________________|__
  / \ /                        \
  urn:example:animal:ferret:nose

scheme

Das Schema (der Teil vor dem Doppelpunkt) gibt den Typ des URIs an, der die Interpretation des folgenden Teils festlegt. Bekannte Schemata sind beispielsweise http, ftp, urn und doi.

authority

Viele URI-Schemata wie http oder ftp haben einen authority-Teil. Der Begriff authority bezieht sich auf eine Instanz, die die Namen in diesem Raum zentral verwalten kann. Ein Beispiel dafür ist das Domain Name System, das von globalen und lokalen Registraren verwaltet wird.

Die authority besteht aus einer optionalen Benutzerinformation (gefolgt von einem "@"), dem Host und einer optionalen (durch einen Doppelpunkt eingeleiteten) Port-Angabe. Sie folgt auf zwei Schrägstriche ("//") und wird von einem einfachen Schrägstrich ("/"), einem Fragezeichen ("?"), einem Doppelkreuz ("#") oder dem Ende der URI begrenzt. Der Host-Teil kann aus einer IP-Adresse, einer IPv6-Adresse (in eckigen Klammern "[...]") oder einem registrierten Namen bestehen. Gültige Werte sind beispielsweise

  • de.wikipedia.org
  • user@example.com:8080
  • 192.0.2.16:80
  • [2001:db8::7]

Die mögliche Angabe eines Passwortes in der Benutzerinformation ("user:password@...") ist überholt und sollte nicht mehr verwendet werden, da URIs oft im Klartext übertragen und protokolliert werden. Gleiches gilt für vertrauliche Benutzernamen.

Path

Der Pfad enthält – meist hierarchisch organisierte – Angaben, die zusammen mit dem Abfrageteil eine Ressource identifizieren. Falls eine authority angegeben wird, muss er mit einem Schrägstrich ("/") beginnen, andernfalls darf er nicht mit einem doppelten Schrägstrich ("//") beginnen. Er wird von einem Fragezeichen ("?"), einem Doppelkreuz ("#") oder dem Ende des URI begrenzt. Gültige Pfade sind beispielsweise

  • /over/there
  • example:animal:ferret:nose

Query

Der Abfrageteil (Query String) beinhaltet nicht-hierarchische Daten zur Identifizierung von Ressourcen. Er wird mit einem Fragezeichen ("?") eingeleitet und von einem Doppelkreuz ("#") oder dem Ende des URI begrenzt. Eine gültige Abfrage ist beispielsweise

  • ?title=Uniform_Resource_Identifier&action=submit

Fragment

fragment referenziert einen Teil innerhalb einer Ressource. Es wird von einem Doppelkreuz ("#") eingeleitet. Ein Beispiel dafür ist der Anker in HTML.

Beispiele

  • http://de.wikipedia.org/wiki/Uniform_Resource_Identifier
  • ftp://ftp.is.co.za/rfc/rfc1808.txt
  • file:///C:/Dokumente%20und%20Einstellungen/Benutzer/Desktop/Uniform%20Resource%20Identifier.html
  • geo:48.33,14.122;u=22.5
  • ldap://[2001:db8::7]/c=GB?objectClass?one
  • gopher://gopher.floodgap.com
  • mailto:John.Doe@example.com
  • sip:911@pbx.mycompany.com
  • news:comp.infosystems.www.servers.unix
  • data:text/plain;charset=iso-8859-7,%be%fg%be
  • tel:+1-816-555-1212
  • telnet://192.0.2.16:80/
  • urn:oasis:names:specification:docbook:dtd:xml:4.1.2
  • git://github.com/rails/rails.git

Ein Beispiel mit sehr vielen Elementen gleichzeitig in der URI:

  • http://nobody@example.org:8080/cgi-bin/script.php?action=submit&pageid=86392001#section_2

URI-Referenzen

Oft verwenden Anwendungen nicht den vollständigen URI, sondern eine abgekürzte Syntax, beispielsweise um Platz zu sparen oder den einfachen Umzug auf andere Server zu ermöglichen. Manche URI-Schemata begrenzen in ihrer Definition zudem die Syntax auf eine bestimmte Form. Unter dem Begriff der URI-Referenzen werden unterschiedliche Schreibweisen zusammengefasst.

Absolute URI

Ein absoluter URI besteht mindestens aus scheme und hier-part (also einer authority und/oder einem path). Beispiele sind

  • http://de.wikipedia.org
  • file://localhost/var/spool/dump.bin

Relative Referenz

Wenn eine URI-Referenz nicht mit einem scheme beginnt, wird angenommen, dass es sich um eine relative Referenz handelt. Die Auflösung einer relativen Referenz zu einem absoluten URI erfolgt abhängig vom Kontext nach standardisierten Regeln. Eine relative Referenz besteht aus einem path sowie optional aus query und fragment. Es werden drei Arten von relativen Referenzen unterschieden:

  • Beginnt der Pfad ohne Schrägstrich, handelt es sich um eine relative Pfad-Referenz, beispielsweise image.png, ./image.png und ../images/image.png.
  • Beginnt der Pfad mit einem einzelnen Schrägstrich ("/"), handelt es sich um eine absolute Pfad-Referenz.
  • Beginnt der Pfad mit doppelten Schrägstrichen ("//"), handelt es sich um eine Netzwerk-Pfad-Referenz.

Referenz innerhalb desselben Dokumentes

URI-Referenzen können auf dasselbe Dokument verweisen, dessen Teil sie sind. Die häufigste Anwendung ist das Doppelkreuz ("#"), gefolgt von einem Fragment-Bezeichner.

Suffix-Referenzen

Weit verbreitet ist die Angabe von URI-Referenzen ohne Bezeichnung des Protokolls, etwa www.wikipedia.de. Unter der Annahme, dass sich aus dem Suffix (im Beispiel www, DNS-Namen werden von rechts nach links aufgebaut) auf das Protokoll (hier http) geschlossen werden kann, funktioniert die Auflösung solcher Referenzen. Allerdings ist diese Auflösung von entsprechenden Annahmen und zudem von der jeweiligen Software abhängig. Deshalb sollten Suffix-Referenzen vermieden werden.

Schemata

Unter anderem sind folgende Schemata definiert:

Auf der Website der IANA befindet sich eine vollständige Liste der offiziellen Schemata.[1]

Daneben haben sich einige inoffizielle Schemata für einzelne Anwendungen oder gängige Protokolle etabliert:

URIs, URLs und URNs

Venn-Diagramm für URI, URL und URN

Es werden folgende Unterarten von URIs unterschieden:

  • Uniform Resource Locators (URLs) identifizieren eine Ressource über ihren primären Zugriffsmechanismus, geben also den Ort (engl. location) der Ressource im Netz an. Beispiele hierfür sind http oder ftp. URLs waren ursprünglich die einzige Art von URIs, weshalb der Begriff URL oft gleichbedeutend mit URI verwendet wird.
  • Uniform Resource Names (URNs) mit dem URI-Schema urn identifizieren eine Ressource mittels eines vorhandenen oder frei zu vergebenden Namens, z. B. urn:isbn oder urn:sha1.

Ursprünglich sollte jeder URI in eine dieser beiden Klassen (oder weitere noch zu definierende) eingeteilt werden. Diese strenge Aufteilung wurde jedoch aufgegeben, da sie unnötig ist und einige Schemata (wie data oder das früher den URLs zugeordnete mailto) in keine der beiden Klassen passen.

Siehe auch

Weblinks

Einzelnachweise

  1. Vollständige Liste der offiziellen Schemata (englischsprachig)
  2. http://tools.ietf.org/html/draft-holsten-about-uri-scheme-06
  3. http://tools.ietf.org/html/draft-ietf-svrloc-afp-service-01
  4. http://tools.ietf.org/html/draft-ietf-uri-url-finger-02
  5. http://tools.ietf.org/html/draft-butcher-irc-url-04
  6. http://tools.ietf.org/html/draft-hoehrmann-javascript-scheme-03
  7. a b http://tools.ietf.org/html/draft-ietf-secsh-scp-sftp-ssh-uri-04
  8. http://tools.ietf.org/html/draft-crhertel-smb-url-12
  9. http://msdn.microsoft.com/en-us/library/aa767742.aspx

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Uniform Resource Identifier — n. A commonly used synonym for Uniform Resource Locator. abbrv. URI The Essential Law Dictionary. Sphinx Publishing, An imprint of Sourcebooks, Inc. Amy Hackney Blackwell. 2008 …   Law dictionary

  • Uniform Resource Identifier — Uniform Resource Identifier,   URI …   Universal-Lexikon

  • Uniform Resource Identifier — In computing, a Uniform Resource Identifier (URI) is a compact string of characters used to identify or name a resource on the Internet. The main purpose of this identification is to enable interaction with representations of the resource over a… …   Wikipedia

  • Uniform Resource Identifier — Pour les articles homonymes, voir Uri (homonymie). Un URI, de l anglais Uniform Resource Identifier, soit littéralement identifiant uniforme de ressource, est une courte chaîne de caractères identifiant une ressource sur un réseau (par exemple… …   Wikipédia en Français

  • Uniform Resource Identifier — Un Uniform Resource Identifier o URI (en español identificador uniforme de recurso ) es una cadena de caracteres corta que identifica inequívocamente un recurso (servicio, página, documento, dirección de correo electrónico, enciclopedia, etc.).… …   Wikipedia Español

  • Uniform Resource Identifier — universalusis ištekliaus identifikatorius statusas T sritis informatika apibrėžtis ↑ASCII ženklų seka su apibrėžta ↑sintakse interneto ištekliui identifikuoti. Pavyzdžiui, gali identifikuoti tinklalapį, paveikslą, vaizdo įrašą, programą, paslaugą …   Enciklopedinis kompiuterijos žodynas

  • Uniform Resource Identifier —    Abbreviated URI. In the HTTP message header, a set of characters that identifies a resource such as a file from anywhere on the Internet.    The URI includes Uniform Resource Names and Uniform Resource Locators to identify the file by type and …   Dictionary of networking

  • uniform resource identifier — noun A string of characters that identifies a resource that can be accessed over the Internet. Syn: URI …   Wiktionary

  • Dereferenceable Uniform Resource Identifier — A dereferenceable Uniform Resource Identifier or dereferenceable URI is a resource retrieval mechanism that uses any of the internet protocols (e.g. HTTP) to obtain a copy or representation of the resource it identifies. In the context of… …   Wikipedia

  • Uniform Resource Locator — is an URI which also specifies where the identified resource is available and the protocol for retrieving it. [ [http://www.faqs.org/rfcs/rfc1738.html RFC 1738 Uniform Resource Locators] ] In popular usage and many technical documents, it is… …   Wikipedia