Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikipediaDie freie Enzyklopädie
Suche

Uniform Resource Identifier

aus Wikipedia, der freien Enzyklopädie

EinUniform Resource Identifier (Abk.URI;englisch für „einheitlicher Bezeichner für Ressourcen“) ist einIdentifikator und besteht aus einer Zeichenfolge, die zur Identifizierung einer abstrakten oder physischenRessource dient. URIs werden zur Bezeichnung von Ressourcen (wieWebseiten, sonstigen Dateien, Aufruf vonWebservices, aber auchE-Mail-Empfängern) imInternet und dort vor allem imWWW eingesetzt. Der aktuelle Stand 2016 ist als RFC 3986[1] publiziert.

Ursprünglich führteTim Berners-Lee den Begriff 1994 im RFC 1630[2] alsUniversal Resource Identifier ein. Erst später tauchte dann in offiziellenW3C-Dokumenten die AuflösungUniform auf. Aus diesem Grund wirdUniversal gelegentlich – selbst in der Fachliteratur – als erster Namensbestandteil genannt.

URIs können als Zeichenfolge (kodiert mit einemZeichensatz) in digitale Dokumente, insbesondere solche imHTML-Format eingebunden oder auch von Hand auf Papier aufgeschrieben werden. Einen Verweis von einerWebseite auf eine andere nennt manHyperlink oder kurz „Link“.

Eine Erweiterung der nur aus druckbarenASCII-Zeichen bestehenden URIs sind dieInternationalized Resource Identifiers (IRIs).

Konzeption

[Bearbeiten |Quelltext bearbeiten]

Ein URI (oder in der Erweiterung IRI) ist das abstrakte Prinzip, die Syntax, einer Kennzeichnung, bei dem ein Satz an Regeln vorgegeben ist. Dieses Grundkonzept der URI wird dann auf verschiedene konkrete Anwendungsbereiche übertragen, für die dann die entsprechenden Regeln und Begriffe gelten. Zum Beispiel:

  • „URI dürfen keine Leerzeichen enthalten.“ oder
  • „Zu Beginn steht der Name eines Schemas in ASCII-Buchstaben und Ziffern, gegebenenfalls gegliedert durch Punkt und Bindestrich, beginnend mit Buchstaben, worauf ein Doppelpunkt folgt.“

Grundsätzlich gibt es drei Typen von Anwendungen:

  • Name
    • DerInhalt einer Ressource (und damit jede inhaltsgleiche Kopie) erhält eine eindeutige Kennung.
    • Beispiel: DieISBN eines Buches. Es gibt unbegrenzt viele Exemplare dieses Buches.
  • Locator
    • DerOrt einer Ressource ist über ihren Bezeichner definiert. Sie wird also darüber identifiziert,wo sie zu finden ist; es wird damit jedoch nicht zwangsläufig ihr Inhalt festgelegt.
    • Beispiel: Aktueller Wetterbericht im Internet. Es ist bekannt, an welcher Stelle (URL) dieser zu finden ist; der Inhalt ändert sich ständig.
    • Beispiel: Ein Buch wird dadurch beschrieben, in welcher Bibliothek es steht: dort im zweiten Raum, drittes Regal, viertes Fach von oben, fünftes Buch von links. Dort könnten die aktuellen Top-5 der Bestsellerliste stehen – unabhängig von ihrem Inhalt.
  • Individuum
    • Die Regeln der URI können auch angewendet werden, wenn etwas überhaupt keine klassische Ressource ist, aber trotzdem identifiziert werden soll.
    • Zunächst verstand man unter „Ressource“ etwas wieRessourcen im informationstechnischen Sinn, also im weitesten Sinne elektronische Dateien, die auch im Internet verfügbar gemacht werden könnten. Davon gingen 1994 die RFC 1630[2] und RFC 1738[3] aus. Dieses Konzept wurde jedoch erweitert. So war 1998 in der RFC 2396 (Abschnitt 1.1)[4] festgelegt worden: „A resource can be anything that has identity.“ Auch Personen, Organisationen und gedruckte Bücher könnten als Ressource betrachtet werden. Diese Betrachtung zielt auf die Kennzeichnung zuordnungsfähiger Entitäten.
    • Beispiele: E-Mail-Adresse, Nummer eines Mobiltelefons, Reisepass sowie die legitime Inhaberin, Sozialversicherungsnummer, Fingerabdruck und der Mensch dazu.

Im Januar 2005 wurde mit RFC 3986[1] das Konzept der Ressource im Sinne der URI auch noch um abstrakte Konzepte erweitert:

“A resource is not necessarily accessible via the Internet; e.g., human beings, corporations, and bound books in a library can also be resources. Likewise, abstract concepts can be resources, such as the operators and operands of a mathematical equation, the types of a relationship (e.g., ‘parent’ or ‘employee’), or numeric values (e.g.,zero, one, and infinity).”

„Eine Ressource ist nicht notwendigerweise über das Internet erreichbar; beispielsweise können Menschen, Firmen und gebundene Bücher in Bibliotheken ebenfalls eine Ressource darstellen. Ebenso können abstrakte Konzepte wie Operatoren und Operanden einer mathematischen Gleichung, Arten einer Beziehung (z. B. ‚Elter‘ oder ‚Angestellter‘) oder Zahlen (z. B. Null, Eins und Unendlich) eine Ressource sein.“

RFC 3986, Abschnitt 1.1[5]

Aufbau

[Bearbeiten |Quelltext bearbeiten]

Nach dem aktuellen Standard RFC 3986[1] besteht ein URI aus fünf Teilen:scheme (Schema oder Protokoll),authority (Anbieter oder Server),path (Pfad),query (Abfrage) undfragment (Teil), wovon nurscheme undpath in jedem URI vorhanden sein müssen. Die generische Syntax ist:

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

Dabei stehthier-part (hierarchischer Teil) für eine optionaleauthority und denpath. Ist die Angabe einerauthority erforderlich, um die Ressource letztlich zu verorten, so wird sie durch doppelten Schrägstrich eingeleitet und die darauf folgende Pfadangabe 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

Schema (Scheme)

[Bearbeiten |Quelltext bearbeiten]

Das Schema (der Teil vor dem Doppelpunkt) definiert den Kontext und bezeichnet so den Typ des URIs, was die Interpretation des folgenden Teils festlegt. Bekannte Schemata sind beispielsweise die Protokollehttp undftp sowie Notationskonzepte wieurn unddoi. Mit dem Doppelpunkt endet der erste obligatorische Teil des URI. Gibt es keinen Bezug auf eine die Namensverwaltung organisierende (aktive) Autorität, so folgt direkt auf diesen Doppelpunkt der Pfad zur Verortung der Ressource.

Authority (im Sinne vonZuständigkeit)

[Bearbeiten |Quelltext bearbeiten]

VieleURI-Schemata wiehttp oderftp haben einenauthority-Teil. Der Begriffauthority bezieht sich auf eine Instanz, die die Namen in diesem (vom Schema angegebenen Interpretations-) Raum zentral verwalten kann. Ein Beispiel dafür ist dasDomain Name System, das von globalen und lokalenRegistraren verwaltet wird.

Dieauthority besteht aus einer optionalen Benutzerinformation (gefolgt von einem ‚@‘), demHost 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 des URIs begrenzt. Der Host-Teil kann aus einerIP-Adresse, einerIPv6-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 von Benutzername und Kennwort in der Benutzerinformation (user:password@…) wird in RFC 3986 (Abschnitt 3.2.1)[6] als überholt bezeichnet und sollte nicht mehr verwendet werden, da URIs oft im Klartext übertragen und protokolliert werden.

Pfad (Path)

[Bearbeiten |Quelltext bearbeiten]

Der Pfad enthält – oft hierarchisch organisierte – Angaben, die zusammen mit dem Abfrageteil eine Ressource identifizieren. Falls in der URI eine im vorangegangenen Abschnitt beschriebeneauthority angegeben wurde, muss derpath mit einem Schrägstrich (/) beginnen; gibt es keineauthority, darf derpath nicht mit einem doppelten Schrägstrich (//) beginnen. Dadurch ist die eindeutige Interpretation gesichert. Er wird von einem Fragezeichen (?), einem Doppelkreuz (#) oder dem Ende des URI begrenzt. Gültige Pfade sind beispielsweise:

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

Abfrage (Query)

[Bearbeiten |Quelltext bearbeiten]

Der Abfrageteil (Query-String) beinhaltet Daten zur Identifizierung von solchen Ressourcen, deren Ort durch die Pfadangabe allein nicht genau angegeben werden kann. Sie müssen aus der durch den Pfad bezeichneten Quelle durch ebendiese Abfrage wie ein Datensatz aus einer Datenbank abgerufen werden. Er wird mit einem Fragezeichen (?) eingeleitet und von einem Doppelkreuz (#) oder dem Ende des URI begrenzt. Eine gültige Abfrage nach dem ‚?‘ ist beispielsweise:

  • title=Uniform_Resource_Identifier&action=submit

Hier spielen ‚&‘ und ‚=‘ etwa die gleiche Rolle wie ‚.‘ und ‚:‘ im Teil für dieauthority.

Fragment

[Bearbeiten |Quelltext bearbeiten]

fragment ist der optionaleFragmentbezeichner und referenziert eine Stelle innerhalb einer Ressource. Der Fragmentbezeichner bezieht sich immer nur auf den unmittelbar vorangehenden Teil des URI und wird von einem Doppelkreuz (#) eingeleitet. Ein Beispiel dafür ist derAnker in HTML.

Beispiele

[Bearbeiten |Quelltext bearbeiten]
  • https://de.wikipedia.org/wiki/Uniform_Resource_Identifier
  • ftp://ftp.is.co.za/rfc/rfc1808.txt
  • file:///C:/Users/Benutzer/Desktop/Uniform%20Resource%20Identifier.html
  • file:///etc/fstab
  • 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%fa%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
  • crid://broadcaster.com/movies/BestActionMovieEver

Ein Beispiel mit sehr vielen Elementen gleichzeitig in der URI:

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

URI-Referenzen

[Bearbeiten |Quelltext bearbeiten]

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 URIs

[Bearbeiten |Quelltext bearbeiten]

Ein absoluter URI identifiziert eine Ressource unabhängig vom Kontext der Verwendung des URI.[7]

Er besteht mindestens ausscheme undhier-part (also einerauthority und/oder einempath).Beispiele sind:

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

Relative Referenz

[Bearbeiten |Quelltext bearbeiten]

Im Gegensatz zu einem absoluten URI beschreibt ein relativer URI nur die Abweichung zwischen dem absoluten URI einer Ressource und dem aktuellen Kontext in einem hierarchischen Namensraum.[7][8]

Wenn eine URI-Referenz nicht mit einemscheme 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 einempath sowie optional ausquery undfragment. Es werden drei Arten von relativen Referenzen unterschieden:

  • Beginnt der Pfad ohne Schrägstrich, handelt es sich um einerelative Pfad-Referenz, beispielsweiseimage.png,./image.png und../images/image.png.
  • Beginnt der Pfad mit einem einzelnen Schrägstrich (/), handelt es sich um eineabsolute Pfad-Referenz.
  • Beginnt der Pfad mit doppelten Schrägstrichen (//), handelt es sich um eineNetzwerk-Pfad-Referenz.

Referenz innerhalb desselben Dokumentes

[Bearbeiten |Quelltext bearbeiten]

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

[Bearbeiten |Quelltext bearbeiten]

Weit verbreitet ist die Angabe von URI-Referenzen des Internets ohne Bezeichnung des Protokolls (des Schemas), etwawww.wikipedia.de. Unter der Annahme, dass sich aus demSuffix (im Beispielwww, DNS-Namen werden von rechts nach links aufgebaut) auf das Protokoll (hierhttp) schließen lässt, 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

[Bearbeiten |Quelltext bearbeiten]

Unter anderem sind folgende Schemata definiert:

SchemaBeschreibung
cridContent Reference Identifier (fürFernsehsendungen)
dataData-URL: direkt eingebettete Daten
fileDateien im lokalenDateisystem
ftpFile Transfer Protocol
geoGeografische Koordinaten
gopherGopher
httpHypertext Transfer Protocol
ldapLightweight Directory Access Protocol
mailtoE-Mail-Adresse
newsNewsgroup oder Newsartikel
popMailboxzugriff überPOP3
rsyncSynchronisation von Daten mitrsync
sipSIP-gestützter Sitzungsaufbau, z. B. fürIP-Telefonie
telTelefonnummer
telnetTelnet
urnUniform Resource Names (URNs)
wsWebSocket
wss
xmppExtensible Messaging and Presence Protocol fürJabber Identifier

Auf der Website derInternet Assigned Numbers Authority (IANA) befindet sich eine vollständige Liste der offiziellen Schemata.[9]

Daneben haben sich einige inoffizielle, von der IANA auch als „vorläufig“ bezeichnete Schemata für einzelne Anwendungen oder gängige Protokolle etabliert:

SchemaBeschreibung
aboutbrowserinterne Informationen[10]
afpApple Filing Protocol[11]
aptAdvanced Packaging Tool
calltoTelefonnummern (u. a.Skype undNetMeeting)
coffeeHyper Text Coffee Pot Control Protocol
daapDigital Audio Access Protocol
doiDigital Object Identifier
ed2kED2k-URI-Schema voneDonkey2000/Kademlia
feedWeb-Feeds
fingerFinger[12]
fishFiles transferred over Shell protocol
gitGit
irc/ircsInternet Relay Chat[13]
itunesiTunes
javascriptAusführung vonJavaScript-Code[14]
lastfmLast.fm
magnetMagnet-Link
mmsMicrosoft Media Server
rtmpReal Time Messaging Protocol
sftpSSH File Transfer Protocol[15][16]
skypeTelefonnummern (nurSkype)
smbServer Message Block[17]
sshSecure Shell[18][16]
svn/svn+sshApache Subversion
view-sourceQuelltextanzeige für eine Webseite[19]
webcaliCalendar
wyciwygWhat You Cache Is What You Get, Firefox-interne Anzeige für die Darstellung gecachter Inhalte
ymsgrYahoo Messenger

Unterarten

[Bearbeiten |Quelltext bearbeiten]

Es werden folgende Unterarten von URIs unterschieden:

Uniform Resource Locator (URL)
Benennen einer Ressource über ihren primären Zugriffsmechanismus wiehttp oderftp. Danach folgt die Bezeichnung des Ortes (englischlocation) der Ressource im Netz – meistens der Domain-Name. URLs waren ursprünglich die einzige Art von URIs, weshalb der Begriff URL oft gleichbedeutend mit URI verwendet wird.
Uniform Resource Name (URN)
Mit dem URI-Schemaurn (oder ggf. anderer) eine Ressource identifizieren mittels eines vorhandenen oder frei zu vergebenden Namens, beispielsweiseurn:isbn oderurn: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 (wiedata und das früher den URLs zugeordnetemailto) in keine der beiden Klassen passen.

Siehe auch

[Bearbeiten |Quelltext bearbeiten]

Weblinks

[Bearbeiten |Quelltext bearbeiten]

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. abcRFC:3986 –Uniform Resource Identifier (URI): Generic Syntax. Januar 2005 – Standard: [STD 66] (Standard, englisch).
  2. abRFC:1630 –Universal Resource Identifiers in WWW. 1994 (Informational, englisch).
  3. RFC:1738 –Uniform Resource Locators (URL). Dezember 1994 (englisch).
  4. RFC:2396 –Uniform Resource Identifiers (URI): Generic Syntax. April 1998, Abschnitt 1.1 (englisch).
  5. RFC:3986 –Uniform Resource Identifier (URI): Generic Syntax. Januar 2005, Abschnitt 1.1:Overview of URIs. (englisch).
  6. RFC:3986 –Uniform Resource Identifier (URI): Generic Syntax. Januar 2005, Abschnitt 3.2.1:User Information. (englisch).
  7. abRFC:2396 –Uniform Resource Identifiers (URI): Generic Syntax. April 1998 (englisch).
  8. RFC:2396 (englisch).
  9. Graham Klyne: Uniform Resource Identifier (URI) Schemes. Internet Assigned Numbers Authority (IANA), 20. März 2016, abgerufen am 8. April 2016 (englisch). 
  10. Lachlan Hunt:The 'about' URI scheme. draft-holsten-about-uri-scheme-06. Internet Engineering Task Force, 29. November 2010 (ietf.org [abgerufen am 29. Januar 2026]). 
  11. Leland Wallace:Definition of afp: URLs for use with Service Location. draft-ietf-svrloc-afp-service-01. Internet Engineering Task Force, 29. Oktober 1998 (ietf.org [abgerufen am 29. Januar 2026]). 
  12. Paul Hoffman <paul.hoffman@vpnc.org>: finger URL Specification. Archiviert vom Original am 3. März 2021; abgerufen am 29. Januar 2026 (englisch). 
  13. Simon Butcher:Uniform Resource Locator Schemes for Internet Relay Chat Entities. draft-butcher-irc-url-04. Internet Engineering Task Force, 27. Januar 2004 (ietf.org [abgerufen am 29. Januar 2026]). 
  14. Bjoern Hoehrmann:The 'javascript' resource identifier scheme. draft-hoehrmann-javascript-scheme-03. Internet Engineering Task Force, 25. September 2010 (ietf.org [abgerufen am 29. Januar 2026]). 
  15. iana.org
  16. abSteve Suehring, Joseph A. Salowey:Uniform Resource Identifier (URI) Scheme for Secure File Transfer Protocol (SFTP) and Secure Shell (SSH). draft-ietf-secsh-scp-sftp-ssh-uri-04. Internet Engineering Task Force, 2. Februar 2006 (ietf.org [abgerufen am 29. Januar 2026]). 
  17. Christopher R. Hertel:SMB File Sharing URI Scheme. draft-crhertel-smb-url-12. Internet Engineering Task Force, 16. Januar 2007 (ietf.org [abgerufen am 29. Januar 2026]). 
  18. iana.org
  19. view-source Protocol. Abgerufen am 29. Januar 2026 (amerikanisches Englisch). 
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Uniform_Resource_Identifier&oldid=263775690
Kategorie:

[8]ページ先頭

©2009-2026 Movatter.jp