it-swarm.com.de

Was ist der Unterschied zwischen URI, URL und URN?

Was ist der Unterschied zwischen einer URI, einer URL und einer URN? Ich habe viele Websites gelesen (sogar Wikipedia), aber ich verstehe es nicht.

URI: http://www.foo.com/bar.html
URL: http://www.foo.com/bar.html
URN: bar.html

Ist das richtig?

245
thom

Uniform Resource Identifier (URI) ist eine Zeichenfolge zur Identifizierung eines Namens oder einer Ressource im Internet

Ein URI identifiziert eine Ressource entweder über den Ort oder einen Namen oder beides. Ein URI hat zwei Spezialisierungen, die als URL und URN bezeichnet werden.

Ein Uniform Resource Locator (URL) ist eine Teilmenge des Uniform Resource Identifier (URI), die angibt, wo eine identifizierte Ressource verfügbar ist und wie diese abgerufen werden kann. Eine URL definiert, wie die Ressource abgerufen werden kann. Es muss keine HTTP-URL (http: //) sein, eine URL kann auch (ftp: //) oder (smb: //) sein.

Ein Uniform Resource Name (URN) ist ein Uniform Resource Identifier (URI), der das URN-Schema verwendet, und impliziert nicht die Verfügbarkeit der identifizierten Ressource . Sowohl URNs (Namen) als auch URLs (Locators) sind URIs, und ein bestimmter URI kann gleichzeitig ein Name und ein Locator sein.

Die URNs sind Teil einer größeren Internetinformationsarchitektur, die sich aus URNs, URCs und URLs zusammensetzt.

bar.html ist keine URN . Eine URN ähnelt dem Namen einer Person, während eine URL einer Straßenadresse gleicht. Die URN definiert die Identität eines Objekts, während die URL einen Ort angibt. Im Wesentlichen "was" vs. "wo". Eine URN muss von dieser Form sein <URN> ::= "urn:" <NID> ":" <NSS> wo <NID> ist der Namespace Identifier und <NSS> ist die namensraumspezifische Zeichenfolge.

Anders ausgedrückt:

  • Eine URL ist eine URI, die eine Ressource identifiziert und die Möglichkeit bietet, die Ressource zu lokalisieren, indem die Art des Zugriffs beschrieben wird
  • Eine URL ist eine URI
  • Ein URI ist nicht unbedingt eine URL

Ich würde sagen, das einzige, was noch übrig ist, um 100% klar zu machen, ist ein Beispiel für eine URI, die keine URL ist. Wir können die Beispiele im RFC3986 verwenden:

URL: ftp://ftp.is.co.za/rfc/rfc1808.txt
URL: http://www.ietf.org/rfc/rfc2396.txt
URL: ldap://[2001:db8::7]/c=GB?objectClass?one
URL: mailto:[email protected]
URL: news:comp.infosystems.www.servers.unix
URL: telnet://192.0.2.16:80/
URN (not URL): urn:oasis:names:specification:docbook:dtd:xml:4.1.2
URN (not URL): tel:+1-816-555-1212 (?)

Überprüfen Sie auch dies heraus - https: //quintupledev.wordpress.com/2016/02/29/differenz zwischen-uri-url-und-urn/

311
ayush

Unten fasse ich zusammen Prateek Joshi ehrfürchtige Erklärung .

Die Theorie:

  • URI (Uniform Resource Identifier) ​​identifiziert eine Ressource (Textdokument, Bilddatei usw.)
  • URL (Uniform Resource Locator) ist eine Teilmenge der URIs, die einen Netzwerkspeicherort enthalten
  • URN (Uniform Resource Name) ist eine Teilmenge von URIs, die einen Namen innerhalb eines bestimmten Bereichs, aber keinen Speicherort enthalten

Das ist:

enter image description here

Und zum Beispiel:

enter image description here

Wenn Sie es noch nicht getan haben, empfehle ich Ihnen, die Antwort von Roger Pate zu lesen .

105
Gustavo Mori

URL - Uniform Resource Locator

Enthält Informationen zum Abrufen einer Ressource von ihrem Speicherort. Zum Beispiel:

  • http://example.com/mypage.html
  • ftp://example.com/download.Zip
  • mailto:[email protected]
  • file:///home/user/file.txt
  • http://example.com/resource?foo=bar#fragment
  • /other/link.html (Eine relative URL, die nur im Kontext einer anderen URL nützlich ist.)

URLs beginnen immer mit einem Protokoll (http) und enthalten normalerweise Informationen wie den Netzwerk-Hostnamen (example.com) Und häufig einen Dokumentpfad (/foo/mypage.html). URLs können Abfrageparameter und Fragmentbezeichner enthalten.

URN - Uniform Resource Name

Identifiziert eine Ressource anhand ihres Namens. Es beginnt immer mit dem Präfix urn: Zum Beispiel:

  • urn:isbn:0451450523, Um ein Buch anhand seiner ISBN-Nummer zu identifizieren.
  • urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 Eine global eindeutige Kennung
  • urn:publishing:book - Ein XML-Namespace, der das Dokument als eine Art Buch identifiziert.

URNs können Ideen und Konzepte identifizieren. Sie sind nicht auf die Identifizierung von Dokumenten beschränkt. Wenn ein URN ein Dokument darstellt, kann es von einem "Resolver" in eine URL übersetzt werden. Das Dokument kann dann von der URL heruntergeladen werden.

URI - Uniform Resource Identifier

URIs umfassen URLs, URNs und andere Möglichkeiten, um eine Ressource anzugeben.

Ein Beispiel für eine URI, die weder eine URL noch eine URN ist, wäre eine Daten-URI wie data:,Hello%20World. Es ist keine URL oder URN, da die URI die Daten enthält. Es nennt es weder, noch sagt es Ihnen, wie Sie es über das Netzwerk finden.

Es gibt auch URCs (Uniform Resource Citations), die auf Metadaten zu einem Dokument und nicht auf das Dokument selbst verweisen. Ein Beispiel für einen URC wäre ein Indikator zum Anzeigen des Quellcodes einer Webseite: view-source:http://example.com/. Ein URC ist ein anderer URI-Typ, der weder URL noch URN ist.

Häufig gestellte Fragen

Ich habe gehört, dass ich keine URL mehr sagen soll, warum?

Die w3-Spezifikation für HTML besagt, dass das href eines Ankertags eine URI und nicht nur eine URL enthalten kann. Sie sollten in der Lage sein, eine URN wie <a href="urn:isbn:0451450523"> Einzugeben. Ihr Browser würde dann diese URN in eine URL auflösen und das Buch für Sie herunterladen.

Können Browser tatsächlich Dokumente über URN abrufen?

Nicht das ich wüsste, aber moderne Webbrowser implementieren das Daten-URI-Schema.

Kann ein URI sowohl eine URL als auch eine URN sein?

Gute Frage. Ich habe viele Stellen im Web gesehen, die besagen, dass dies wahr ist. Ich konnte keine Beispiele für etwas finden, das sowohl eine URL als auch eine URN ist. Ich verstehe nicht, wie das möglich ist, da eine URN mit urn: Beginnt, was kein gültiges Netzwerkprotokoll ist.

Hat der Unterschied zwischen URL und URI irgendetwas damit zu tun, ob es relativ oder absolut ist?

Sowohl relative als auch absolute URLs sind URLs (und URIs).

Hat der Unterschied zwischen URL und URI etwas damit zu tun, ob es Abfrageparameter gibt?

Nein. Beide URLs mit und ohne Abfrageparameter sind URLs (und URIs).

Hat der Unterschied zwischen URL und URI etwas damit zu tun, ob es sich um eine Fragmentkennung handelt?

Nein. Beide URLs mit und ohne Fragment-IDs sind URLs (und URIs).

Ist eine tel: - URI eine URL oder eine URN?

Zum Beispiel tel:1-800-555-5555. Es beginnt nicht mit urn: Und verfügt über ein Protokoll zum Erreichen einer Ressource über ein Netzwerk. Es muss eine URL sein.

Aber sagt das W3C jetzt nicht, dass URLs und URIs dasselbe sind?

Ja. Das W3C erkannte, dass diesbezüglich eine Menge Verwirrung herrscht. Sie gaben ein URI-Klärungsdokument heraus, das besagt, dass es jetzt OK ist, URL und URI austauschbar zu verwenden. Es ist nicht mehr sinnvoll, URIs streng in verschiedene Typen wie URL, URN und URC zu unterteilen.

50

URI (Uniform Resource Identifier) ​​nach Wikipedia :

eine Zeichenfolge zur Identifizierung einer Ressource.

RL (Uniform Resource Locator) ist eine URI, die einen Interaktionsmechanismus mit der Ressource impliziert. Beispiel: https://www.google.com gibt die Verwendung von HTTP als Interaktionsmechanismus an. Nicht alle URIs müssen interaktionsspezifische Informationen übermitteln.

RN (Uniform Resource Name) ist eine bestimmte Form von URI, deren Schema Urne ist. Weitere Informationen zur allgemeinen Form eines URI finden Sie unter https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Syntax

IRI (International Resource Identifier) ist eine Überarbeitung der Definition von URI, mit der wir internationale Zeichen in URIs verwenden können.

2
gst