Anzeige
Anzeige
Digitale Gesellschaft
Artikel merken

URL oder URI? Wir zeigen euch den Unterschied

Hier lest ihr, warum die einen ihre Hyperlinks auf URIs und andere auf URLs zeigen lassen. Und was zur Hölle ist eigentlich URN?

Von Mario Janschitz
2 Min. Lesezeit
Anzeige
Anzeige

Auch Fry fragt sich ob es nun URI oder URL heißt. (Grafik: t3n)

Kaum ein Thema spaltet Entwickler so wie die Diskussion, ob ein Hyperlink auf einen URI oder einen URL zeigt. Gerade weil man im Internet dubiose und auch schlicht falsche Quellen zu diesem Thema findet, habe ich mich auf die Suche nach der Antwort gemacht und mich dabei durch RFCs und W3C-Spezifikationen gewühlt. Ein kleiner Guide über den Irrglauben rund um URL, URI und URN aufzuklären.

URL vs URI

Anzeige
Anzeige

Wenn Entwickler im Internet nach dem Unterschied zwischen URI und URL suchen, dann finden sie relativ schnell einen Artikel aus dem Jahr 2007, der vom Onlinemagazin ajaxian (URI vs. URL: What’s the difference?) publiziert wurde. Was nicht gleich klar ist: Dieser Artikel ist falsch –  auch die vielen Kommentare weisen darauf hin. Anscheinend lesen aber relativ wenige Personen die Kommentare zu diesem Artikel, denn immer wieder wird auf diesen Link verwiesen – warum ajaxian diesen Artikel bis heute nicht verbessert hat, bleibt ein Rätsel. Für einen kurzen und schmerzlosen Einstieg seht euch dieses Venn-Diagramm an:

uri

URL und URN sind echte Teilmengen von URI. (Grafik: t3n)

Wie ihr sehen könnt, handelt sich bei dem Begriff URI eigentlich um drei Komponenten. Im RFC von Tim Berners-Lee findet ihr zu URI und URL folgende Passagen:

Anzeige
Anzeige

„A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. […] A URI can be further classified as a locator, a name, or both. The term „Uniform Resource Locator“ (URL) refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism (e.g., its network „location“).“

Bevor wir aber darauf genauer eingehen können, möchte ich vorher den „Unified Resource Name“ oder kurz URN ansprechen.

Anzeige
Anzeige

Was ist ein URN?

Ein URN ist ein URI der eine Ressource dauerhaft und ortsunabhängig bezeichnet, und das nach dem Schema urn. Das heißt: mit URN könnt ihr einer Ressource einen dauerhaft gültigen Namen zuweisen, der die Ressource damit eindeutig identifizierbar macht. Wie bereits oben im RFC von Tim Berners-Lee angesprochen, kann eine Ressource alles sein, was sich eindeutig beschreiben lässt.

Das URN-Schema sieht übrigens so aus:
urn:<NID>:<NID-spezifischer Teil>

Anzeige
Anzeige

Wobei sich der Schema-spezifische Teil des URIs in Namensräume (hier NID) gliedern lässt.

Unterschied zwischen URL, URI und URN

Das bedeutet, dass man URI in URL, URN oder beidem einordnen kann. Wobei ein URL anzeigt wo etwas ist (und wie man dorthin kommt) und URN beschreibt was etwas ist. Kurz gesagt: Ein URL oder URN ist zwar ein URI aber ein URI ist kein URL oder URN. Nachlesen könnt ihr das übrigens auch im RFC 3986/1.1.3 und im RFC 2396/1.2.

Beispiel

  • t3n.de – URI
  • https://t3n.de – URL (http zeigt euch wo die Ressource ist)
  • ftp://t3n.de – URL (ftp zeigt euch wo die Ressource ist)
  • urn:isbn:3827370191 – URN (eindeutige Indentifikation des Buches „Moderne Betriebssysteme“ von Andrew S. Tanenbaum)

Ich würde also dazu raten, im Zweifel von URI zu sprechen anstatt von URL. Der Grund dafür ist, dass du immer eine URI vor dir hast, aber nicht immer eine URL. Ich hoffe, ich konnte euch dieses Thema etwas verständlicher machen und die URI-URL-Verwirrung auflösen.

Anzeige
Anzeige

Welches Thema sorgt eurer Meinung nach noch für Verwirrung?

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
13 Kommentare
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Sebastian Düvel

DAS IST FALSCH!

Ne, nur Spaß! :-) Schöner Artikel. Werd ich jetzt immer verlinken, wenn Unklarheit besteht.

Antworten
Martin

Also das kann ich nicht nachvollziehen. Du schreibst „Kurz gesagt: Ein URL oder URN ist zwar ein URI aber ein URI ist kein URL oder URN.“ Und empfiehlst am Ende: „Ich würde also dazu raten, im Zweifel, von URI zu sprechen anstatt von URL. Der Grund dafür ist, dass du immer eine URI vor dir hast, aber nicht immer eine URL.“ Aber wenn es um einen Hyperlink geht, wann habe ich denn dann wohl einen URN vor mir? Ist mir noch nicht untergekommen. Das muss aber natürlich nichts heißen.

Zudem gehst du der Frage nach, wohin ein Hyperlink führt? URI, URL oder URN. Nach meiner Auffassung sind Hyperlink-Ziele URLs. Hast du schon mal einen Link zu der URI „t3n.de“ gesehen? Wo soll das hinführen? Der Browser wüsste nicht, wo er danach suchen soll. Wenn man statt dessen die URL „https://t3n.de&#8220; benutzt, weiß der Browser bescheid. Aus meiner Sicht sind die Hyperlinks also URLs.

Antworten
Uli

Sehr gut, passend und korrekt beschrieben. Nur eine winzige Kleinigkeit, die möglicherweise Verwirrung stiften könnte…
Du schreibst „Kurz gesagt: Ein URL oder URN ist zwar ein URI aber ein URI ist kein URL oder URN.“
Es wäre passender zu schreiben „… aber ein URI ist nicht zwingend eine URL oder URN.“, dann ein URI KANN ja eine URL/URN sein, MUSS es aber nicht!
Jööö, und schon hab ich meinen Vorsitz im Club der Erbsenzähler wieder um ein Jahr verlängert bekommen… ;)

Antworten
Dirk

Es ist etwas vermessen zu sagen, dass andere Quellen oft falsch oder zumindest missverständlich zu sein, aber selbst den Artikel etwas fehlerhaft zu schreiben.

Widerspruch 1:
Wenn der Text stimmt, ist die Grafik falsch. Ist die Grafik richtig, ist der Text falsch.
Zum einen sagt der Text, dass URLs oder URNs URIs sind, aber URIs nie URLs oder URNs sein können.

Widerspruch 2:
Im Text wird behauptet, dass URIs laut RFC URLs, URNs oder Beides sein können. Die Grafik allerdings zeigt keine Schnittmenge zwischen URLs und URNs.

Letztendlich wäre es schön gewesen, wenn explizit vielleicht auch nur anhand Beispielen gezeigt wird, woran man URLs, URNs, deren Schnittmenge und wie URIs prinzipiell aussehen müssen.

Antworten
Mark aus Hamburg

Ja. Endlich hat sich jemand mal die Mühe gemacht, die Sache aufzuklären. Und wir haben endlich einen Beitrag, auf den wir, wie Sebastian schon sagte, verlinken können. Klasse!

Antworten
Christian Kilv

Ich würde also dazu raten, im Zweifel, von URI zu sprechen anstatt von URL.

=> Ich mein, hier hast Du URI und URL vertauscht. Kann das sein?

Antworten
MI

Zur Ergänzung: http://jendryschik.de/wsdev/einfuehrung/grundlagen/technische-fundamente#uri

Schon etwas älter, aber die Grundlagen ändern sich ja nicht.

Antworten
Katharina Tan

Super Artikel danke. Bin des Englischen sehr mächtig aber auf Deutsch hab ich es dann doch besser verstanden.

Herrschte bislang bei mir auch immer Verwirrung was URI und URL anbelangte, URN habe ich allerdings noch gar nicht kennengelernt.

Juhu, endlich kann ich wieder klugscheißen, haha Spaß ;)
Vielen Dank für den Beitrag.

Antworten
Matthias Pfefferle

Dein URI-Beispiel ist nicht ganz glücklich gewählt, weil eine URI (wenn sie kein relativer Pfad ist) auch ein scheme (http, xmpp, im, …) hat. Ein perfektes Beispiel für eine URI ist beispielsweise xmpp:username@host.tld

Antworten
KingCrunch

So ganz richtig ist das aber auch nicht. Zumindest in den Beispielen hakts:

„t3n.de – URI“ ist auch eine (relative) URL. Der Unterschied ist vielmehr: Eine URI ist nur ein Identifier (dafür steht das „I“) und ist nicht zwangsläufig verknüpfbar („Link“), eine URL allerdings schon (dafür steht das „L“). Eine URL verspricht mir, dass wenn ich die URL mit dem passenden Tool aufrufe ich mit der referenzierten Resource interagieren kann. Allgemein für URIs gilt das nicht.

Ich zitier mal das Zitat :)

> The term „Uniform Resource Locator“ (URL) refers to the subset of URIs that,
> in addition to identifying a resource, provide a means of locating the resource
> by describing its primary access mechanism (e.g., its network „location“).

Heute noch Beispiele für echte URIs zu finden dürfte nahe unmöglich sein, aber in (echtem) RDF findet man das häufig, weil dort URIs zwingend notwendig sind, es aber häufig zu aufwendig wäre auch alle derefenzierbar zu machen. Je nachdem wie streng man die Definition auslegt ist bereits ein Dead-Link nur noch eine URI, aber keine URL mehr.

Antworten
FaXa

Zur Ergänzung:

Ein URI beinhaltet ein „Schema“, das eine Ressource näher beschreibt..
http:, ftp:, urn:, isbn:, foo:,…

Ist dieses Schema insbesondere eine Zugriffsmethode (~Protokoll) für eine Ressource, dann handelt es sich um ein URL..
http:, ftp:, file:,…

Ist dieses Schema ein universeller Bezeichner einer Ressource, dann wird dies adressiert mit..
urn:

Beste Grüße

Antworten
Valanthor

Ist mir auch aufgefallen und wir schreiben das Jahr 2019. Wo wir wieder bei folgendem Thema sind:
“ – warum ajaxian diesen Artikel bis heute nicht verbessert hat, bleibt ein Rätsel.“

https://tools.ietf.org/html/rfc3986#section-1.1.1

Antworten
AxWel

Muss es in der Grafik nicht „URI = Uniform Ressource Identifier“ heissen und nicht wie geschrieben „URI = Uniform Ressource Indentifier“ ?

Grüsse

Antworten
Abbrechen

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige