t3n News Software

URL oder URI? Wir zeigen euch den Unterschied

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?

URL oder URI? Wir zeigen euch den Unterschied

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

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:

„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.

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>

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
  • http://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.

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

Vorheriger Artikel Zurück zur Startseite Nächster Artikel
12 Antworten
  1. von Sebastian Düvel am 13.12.2013 (16:18 Uhr)

    DAS IST FALSCH!

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

    Antworten Teilen
  2. von Martin am 13.12.2013 (16:47 Uhr)

    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 "http://t3n.de" benutzt, weiß der Browser bescheid. Aus meiner Sicht sind die Hyperlinks also URLs.

    Antworten Teilen
  3. von Uli am 13.12.2013 (17:13 Uhr)

    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 Teilen
  4. von Dirk am 13.12.2013 (17:39 Uhr)

    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 Teilen
  5. von Mark aus Hamburg am 13.12.2013 (18:10 Uhr)

    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 Teilen
  6. von Christian Kilv am 13.12.2013 (18:16 Uhr)

    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 Teilen
  7. von MI am 13.12.2013 (19:23 Uhr)

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

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

    Antworten Teilen
  8. von Katharina Tan am 13.12.2013 (20:33 Uhr)

    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 Teilen
  9. von Matthias Pfefferle am 13.12.2013 (23:50 Uhr)

    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 Teilen
  10. von KingCrunch am 14.12.2013 (23:41 Uhr)

    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 Teilen
  11. von FaXa am 28.01.2014 (16:38 Uhr)

    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 Teilen
  12. von AxWel am 26.11.2015 (15:01 Uhr)

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

    Grüsse

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema
SEO: So sieht die perfekte URL-Struktur aus [Infografik]
SEO: So sieht die perfekte URL-Struktur aus [Infografik]

Die ideale URL-Struktur einer Website ist SEO- und vor allem auch nutzerfreundlich. Eine Infografik zeigt euch jetzt, worauf es dabei ankommt. » weiterlesen

Warum ihr euch die Arbeit an einer mobilen App sparen könnt [Kommentar]
Warum ihr euch die Arbeit an einer mobilen App sparen könnt [Kommentar]

50.000 neue Apps fluten Apples App-Store pro Monat. Dabei lohnt sich die Entwicklung kaum. Warum ihr es euch sparen solltet, eine mobile App zu bauen. » weiterlesen

Shazam für Schriftarten: Dieses Gadget erkennt Fonts und Farben für euch
Shazam für Schriftarten: Dieses Gadget erkennt Fonts und Farben für euch

Ihr wollt wissen, welche Schriftarten und Farben auf einem Poster verwendet wurden? Dieser Gadget-Prototyp soll genau das ermöglichen. » weiterlesen

Alle Hefte Jetzt abonnieren – für nur 35 €

Kennst Du schon unser t3n Magazin?