Den meisten ist das Konzept von URLs bekannt. Mit den Adressen lassen sich Websites im Internet ansteuern. Was aber ist ein URI? Erdacht hat das Konzept von URIs der Urvater des World Wide Webs, Tim Berners-Lee. Als er im RFC 1630 den Begriff zum ersten Mal ver­wen­de­te, sprach er noch von einem Universal Resource Iden­ti­fier. In­zwi­schen, unter anderem durch Ver­öf­fent­li­chun­gen des Word Wide Web Con­sor­ti­ums (W3C), hat sich URI al­ler­dings als Akronym für den Uniform Resource Iden­ti­fier etabliert und wird bis heute so ver­stan­den. An der ei­gent­li­chen Kon­zep­ti­on hat sich al­ler­dings nichts geändert.

Was ist der Uniform Resource Iden­ti­fier?

Uniform Resource Iden­ti­fier (URI) sollen abstrakte oder physische Res­sour­cen im Internet an­spre­chen. Was für Res­sour­cen das sein sollen, kann sich je nach Situation un­ter­schei­den. Es kann sich dabei bei­spiels­wei­se um Webseiten handeln, aber ebenso können auch Sender oder Empfänger von E-Mails per URI iden­ti­fi­ziert werden. An­wen­dun­gen nutzen die ein­deu­ti­ge Iden­ti­fi­ka­ti­on, um mit einer Ressource zu in­ter­agie­ren oder Daten der Ressource ab­zu­fra­gen.

Auf dieser Basis können Pro­to­kol­le wie HTTP oder FTP funk­tio­nie­ren, den die Form der Adres­sie­rung wird von der URI-Syntax fest­ge­legt. Aus dem URI kann ein System ablesen, welche In­for­ma­ti­on wo und wie an­ge­spro­chen werden soll.

URI-Syntax

Ein URI besteht aus höchstens fünf Teilen, von denen al­ler­dings nur zwei ob­li­ga­to­risch sind.

  • scheme: Gibt Auskunft über das ver­wen­de­te Protokoll.
  • authority: Iden­ti­fi­ziert die Domäne.
  • path: Zeigt den genauen Pfad zur Ressource.
  • query: Steht für eine Abfrage-Aktion.
  • fragmnet: Be­zeich­net einen Teil­aspekt einer Ressource.

Nur scheme und path müssen in jedem Iden­ti­fier vorkommen. In der URI-Syntax werden alle Be­stand­tei­le nach­ein­an­der auf­ge­führt und durch bestimmte, fest­ge­leg­te Zeichen von­ein­an­der getrennt.

scheme :// authority path ? query # fragment

Die doppelten Schräg­stri­che nach dem ersten Dop­pel­punkt sind nur dann notwendig, wenn auch der Teil authority gefüllt ist. Außerdem kann authority noch eine Be­nut­zer­in­for­ma­ti­on enthalten, die dann durch das @-Zeichen von der Domain ab­ge­trennt ist, und zu­sätz­lich noch eine Port­an­ga­be zum Schluss be­inhal­ten, welche dann wiederum mit einem Dop­pel­punkt von der Domain getrennt wird.

Als Beispiel kann eine übliche Web­adres­se dienen: "https://example.org/test/test1?search=test-question#part2"

  • scheme: https
  • authority: example.org
  • path: test/test1
  • query: search=test-question
  • fragment: part2

In dem Beispiel verweist der URI auf einen Teil einer Website. Auf den Teil (part2) wird per HTTP zugriffen; der Teil befindet sich auf einem Gerät mit der Kennung example.org und ist unter dem an­ge­ge­be­nen Pfad zu finden, wenn man zuvor eine Suche durch­führt. Mit dem Uniform Resource Iden­ti­fier kann aber eben auch eine Mail-Adresse an­ge­spro­chen werden: "mailto:user@example.org".

  • scheme: mailto
  • path: user@example.org

In diesem Fall sind nur noch die beiden ob­li­ga­to­ri­schen Be­stand­tei­le im URI enthalten. Weitere mögliche Res­sour­cen, die mit dieser Syntax an­ge­spro­chen werden können, sind bei­spiels­wei­se auch Dateien oder sogar Te­le­fon­num­mern.

Hinweis

Zwar ist der Pfad eine ob­li­ga­to­ri­sche Angabe in jedem URI, der Inhalt des Be­stand­teils kann aber leer sein. So ist „http://example.org/“ ein gültiger URI mit leerem path.

URI-Schemata, also der erste Teil jedes URIs, werden von der IANA verwaltet. Zwar kann man auch eigene Schemata verwenden, die von der Or­ga­ni­sa­ti­on be­stä­tig­ten sind al­ler­dings über das komplette Internet hinweg bekannt. Die be­kann­tes­ten schemes sind:

  • about: Brow­ser­in­for­ma­tio­nen
  • data: ein­ge­bet­te­te Daten
  • feed: Web-Feeds
  • file: Dateien
  • ftp: File Transfer Protocol
  • git: Ver­si­ons­ver­wal­tung mit Git
  • http: Hypertext Transfer Protocol
  • https: Hypertext Transfer Protocol Secure
  • imap: Internet Message Access Protocol
  • pop: POP3
  • mailto: E-Mail-Adressen
  • news: Usenet-News­groups
  • rsync: Da­ten­syn­chro­ni­sa­ti­on
  • sftp: SSH File Transfer Protocol
  • ssh: Secure Shell
  • tel: Te­le­fon­num­mern
  • urn: Uniform Resource Names
Tipp

Die IANA ver­öf­fent­licht eine of­fi­zi­el­le Liste aller bekannter URI-Schemata.

URI-Referenz

Um nicht immer die komplette Angabe eines URIs schreiben (und speichern) zu müssen, verwenden manche An­wen­dun­gen eine kürzere Fassung der Syntax. Damit die Kurzform richtig ver­stan­den werden kann, muss es immer einen Basis-URI geben, der komplett aus­for­mu­liert ist. Die URI-Re­fe­ren­zen werden dann intern aufgelöst. Man un­ter­schei­det deshalb absolute Re­fe­ren­zen von relativen. Der absolute URI funk­tio­niert un­ab­hän­gig von Kontext und besteht min­des­tens aus scheme, authority und path. Die relative Referenz ist die ei­gent­li­che Kurzform: Mit dieser Form wird nur die Ab­wei­chung vom Basis-URI angegeben. Ein relativer URI muss sich daher immer im selben Na­mens­raum befinden, wie der Basis-URI.

Bei der relativen Referenz wird kein scheme angegeben. Um relative URIs von absoluten un­ter­schei­den zu können, darf daher auch kein Dop­pel­punkt im ersten Segment eines Pfades auf­tau­chen, denn der Teil vor dem Dop­pel­punkt würde dann als scheme in­ter­pre­tiert. Unter den relativen Re­fe­ren­zen un­ter­schei­det man drei ver­schie­de­ne Arten, die man jeweils durch eine Mar­kie­rung am Anfang des Pfads erkennt:

  • Eine relative Pfad-Referenz beginnt ohne Schräg­strich.
  • Eine absolute Pfad-Referenz beginnt mit einem Schräg­stich.
  • Eine Netzwerk-Pfad-Referenz beginnt mit zwei Schräg­stri­chen.

URI vs. URL vs. URN

Große Ver­wir­rung besteht oft an­ge­sichts der sehr ähnlich klin­gen­den Ab­kür­zun­gen URIs, URLs oder URNs. Der Un­si­cher­heit wird dadurch un­ter­stützt, dass alle drei Begriffe auch technisch mit­ein­an­der verwandt sind. Der Uniform Resource Locator wird verwendet, um an­zu­zei­gen, wo sich eine Ressource befindet. Deshalb wird die URL auch beim Surfen im Internet benutzt, um auf bestimmte Webseiten zu na­vi­gie­ren. Dagegen ist der Uniform Resource Name orts­un­ab­hän­gig und be­zeich­net eine Ressource dauerhaft. Sind URLs also vor allem in Form von Web­adres­sen bekannt, kann ein URN bei­spiels­wei­se auch als ISB vorkommen, um ein Buch dauerhaft iden­ti­fi­zie­ren zu können.

URL und URN folgen der URI-Syntax. Beide Be­zeich­nungs­ar­ten sind deshalb Teil­men­gen von URI. URL und URN sind also immer URIs. Uniform Resource Iden­ti­fi­ca­tors sind im Um­kehr­schluss aber keine URLs oder URNs.

Zum Hauptmenü