Die Leute reden über URL s, URI s, und URN Es ist, als ob es sich um verschiedene Dinge handelt, aber mit bloßem Auge sehen sie gleich aus.
Worin bestehen die wesentlichen Unterschiede zwischen ihnen?
Die Leute reden über URL s, URI s, und URN Es ist, als ob es sich um verschiedene Dinge handelt, aber mit bloßem Auge sehen sie gleich aus.
Worin bestehen die wesentlichen Unterschiede zwischen ihnen?
URI s identifizieren y URL s lokalisieren ; jedoch, Lokatoren sind auch Bezeichner Jede URL ist also auch eine URI, aber es gibt URIs, die keine URLs sind.
Dies ist mein Name, der ein Identifikator ist. Er ist wie ein URI, kann aber keine URL sein, da er nichts über meinen Standort aussagt oder darüber, wie man mich kontaktieren kann. In diesem Fall identifiziert er zufällig auch mindestens 5 andere Personen allein in den USA.
Dies ist ein Locator, also eine Kennung für diesen physischen Ort. Er ist sowohl eine URL als auch ein URI (da alle URLs URIs sind) und identifiziert mich auch indirekt als "wohnhaft in ". In diesem Fall bin ich damit eindeutig identifiziert, aber das würde sich ändern, wenn ich einen Mitbewohner bekomme.
Ich sage "wie", weil diese Beispiele nicht der erforderlichen Syntax entsprechen.
Von Wikipedia :
In der Informatik ist ein Uniform Resource Locator (URL) eine Teilmenge des Uniform Resource Identifier (URI), die angibt, wo eine bestimmte Ressource verfügbar ist und wie sie abgerufen werden kann. Im allgemeinen Sprachgebrauch und in vielen technischen Dokumenten und mündlichen Diskussionen wird es oft fälschlicherweise als Synonym für URI verwendet , ... [Hervorhebung von mir]
Aufgrund dieser weit verbreiteten Verwirrung verwenden viele Produkte und Dokumentationen fälschlicherweise den einen Begriff anstelle des anderen, legen eine eigene Unterscheidung fest oder verwenden sie synonym.
Mein Name, Roger Pate, könnte wie ein URN (Uniform Resource Name), mit Ausnahme derjenigen, die viel stärker reguliert und soll in allen Ländern einzigartig sein beide Raum und Zeit.
Da ich diesen Namen derzeit mit anderen Personen teile, ist er nicht weltweit eindeutig und würde sich nicht als URN eignen. Aber selbst wenn keine andere Familie diesen Namen verwenden würde, bin ich nach meinem Großvater väterlicherseits benannt, so dass der Name immer noch nicht weltweit eindeutig wäre. Und selbst wenn dass nicht der Fall wäre, würde die Möglichkeit, meine Nachkommen nach mir zu benennen, diesen Namen als URN untauglich machen.
URNs unterscheiden sich von URLs durch diese strenge Einzigartigkeitsbeschränkung, auch wenn sie beide die Syntax von URIs teilen.
URNs are different from URLs in this rigid uniqueness constraint
Bedeutet dies, dass URLs einen Ort nicht eindeutig identifizieren?
Rogers Antwort ist ein guter pragmatischer Ratschlag. Für die offizielle Antwort wende ich mich an das W3C, das " URIs, URLs und URNs: Klarstellungen und Empfehlungen " im Jahr 2001. Kurz gesagt, nach Ansicht des W3C ist heute alles ein URI. Die URL ist ein informelles Konzept, kein formales Konzept. Und die Verwirrung geht auf eine "klassische Sichtweise" zurück, die versuchte, starr zwischen URI-Kategorien zu unterscheiden (von denen die URL eine Kategorie war).
ein Uniform Resource Locator (URL) gibt an, wo eine bestimmte Ressource verfügbar ist und der Mechanismus für den Abruf der Daten . Mit anderen Worten, es gibt keine "relative" URL?
Von RFC 3986 :
Ein URI kann weiter als Locator, Name oder beides klassifiziert werden. Der Begriff "Uniform Resource Locator" (URL) bezieht sich auf die Teilmenge von URIs die zusätzlich zur Identifizierung einer Ressource ein Mittel zur Auffinden der Ressource durch Beschreibung ihres primären Zugriffsmechanismus (z. B. ihren Netz-"Standort"). Der Begriff "Uniform Resource Name" (URN) wurde in der Vergangenheit verwendet, um sowohl URIs nach dem "urn"-Schema [RFC2141] die global eindeutig bleiben müssen und beständig bleiben, auch wenn die Ressource nicht mehr existiert oder sowie für jeden anderen URI mit den Eigenschaften eines Namens.
Alle URLs sind also URIs, und alle URNs sind URIs - aber URNs und URLs sind unterschiedlich, also kann man nicht sagen, dass alle URIs URLs sind.
Falls Sie noch nicht gelesen haben Roger Pates Antwort würde ich auch dazu raten.
Nur URIs mit dem Schema urn: sind URNs. Ein URI kann eine klassische URL, eine URN oder einfach ein URI sein, der nicht mit "urn:" beginnt und sich nicht auf den Standort einer Ressource bezieht.
Ein Beispiel sind InfoPath URNs, die z.B. in Sharepoint Workflows wichtig sind: urn:schemas-microsoft-com:office:infopath:blogsample:-myXSD-2004-05-19T20-48-18
Nicht " alle URLs sind URIs ". Es hängt von der Interpretation des RFC ab. In Java mag der URI-Parser zum Beispiel nicht [
o ]
und das liegt daran, dass in der Spezifikation "sollte nicht" und nicht "darf nicht" steht.
URIs sind ein Standard zur Identifizierung von Dokumenten anhand einer kurzen Kette von Zahlen, Buchstaben und Symbolen. Sie werden definiert durch RFC 3986 - Uniform Resource Identifier (URI): Generische Syntax . URLs, URNs und URCs sind alle Typen der URI.
Enthält Informationen darüber, wie eine Ressource von ihrem Standort abgerufen werden kann. Zum Beispiel:
http://example.com/mypage.html
ftp://example.com/download.zip
mailto:user@example.com
file:///home/user/file.txt
tel:1-888-555-5555
http://example.com/resource?foo=bar#fragment
/other/link.html
(Eine relative URL, nur im Zusammenhang mit einer anderen URL nützlich)URLs beginnen immer mit einem Protokoll ( http
) und enthalten in der Regel Informationen wie den Netzwerkhostnamen ( example.com
) und oft einen Dokumentenpfad ( /foo/mypage.html
). URLs können Abfrageparameter und Fragmentbezeichner enthalten.
Identifiziert eine Ressource durch einen eindeutigen und dauerhaften Namen, sagt aber nicht unbedingt aus, wie sie im Internet zu finden ist. Er beginnt normalerweise 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
einen weltweit eindeutigen Bezeichnerurn:publishing:book
- Ein XML-Namensraum, der das Dokument als einen Buchtyp kennzeichnet.URNs können Ideen und Konzepte identifizieren. Sie sind nicht auf die Identifizierung von Dokumenten beschränkt. Wenn eine URN ein Dokument darstellt, kann sie von einem "Resolver" in eine URL übersetzt werden. Das Dokument kann dann von der URL heruntergeladen werden.
Verweist auf Metadaten zu einem Dokument und nicht auf das Dokument selbst. Ein Beispiel für einen URC ist einer, der auf den HTML-Quellcode einer Seite verweist: view-source:http://example.com/
Anstatt sie im Internet zu suchen oder zu benennen, können die Daten direkt in einen URI eingegeben werden. Ein Beispiel wäre data:,Hello%20World
.
Die W3-Spezifikation für HTML besagt, dass die href
eines Anker-Tags kann einen URI enthalten, nicht nur eine URL. Sie sollten in der Lage sein, eine URN wie die folgende einzugeben <a href="urn:isbn:0451450523">
. Ihr Browser würde dann diese URN in eine URL umwandeln und das Buch für Sie herunterladen.
Nicht dass ich wüsste, aber moderne Webbrowser implementieren das Daten-URI-Schema.
Nein. Sowohl relative als auch absolute URLs sind URLs (und URIs).
Nein. Sowohl URLs mit als auch ohne Abfrageparameter sind URLs (und URIs).
Nein. Sowohl URLs mit als auch ohne Fragmentbezeichner sind URLs (und URIs).
Nein. URLs sind so definiert, dass sie eine strenge Untermenge von URIs sind. Wenn ein Parser ein Zeichen in einer URL, aber nicht in einer URI zulässt, liegt ein Fehler im Parser vor. In den Spezifikationen wird sehr detailliert beschrieben, welche Zeichen in welchen Teilen von URLs und URIs zulässig sind. Einige Zeichen können nur in einigen Teilen der URL erlaubt sein, aber Zeichen allein sind kein Unterschied zwischen URLs und URIs.
Ja. Das W3C hat erkannt, dass es diesbezüglich eine Menge Verwirrung gibt. Sie haben eine URI-Klärungsdokument die besagt, dass es jetzt in Ordnung ist, die Begriffe URL und URI austauschbar zu verwenden (im Sinne von URI). Es ist nicht mehr sinnvoll, URIs streng in verschiedene Typen wie URL, URN und URC zu unterteilen.
Die Definition von URN ist jetzt lockerer als oben angegeben. Die neuester RFC über URIs besagt, dass jetzt jeder URI ein URN sein kann (unabhängig davon, ob er mit urn:
), solange er "die Eigenschaften eines Namens" hat. Das heißt: Er ist weltweit eindeutig und beständig, auch wenn die Ressource nicht mehr existiert oder nicht mehr verfügbar ist. Ein Beispiel: Die in HTML-Doctypes verwendeten URIs wie http://www.w3.org/TR/html4/strict.dtd
. Dieser URI würde weiterhin den HTML4-Übergangs-Doctype nennen, selbst wenn die Seite auf der w3.org-Website gelöscht würde.
Ein Dateipfad ist keine URL oder URI, es sei denn, Sie setzen das file://
Präfix enthalten. Obwohl Browser in der Regel auch nicht-URL-formatierte Dateipfade verarbeiten. Mozilla veröffentlicht seine Testfälle für Datei-URLs .
Voir Abschnitt 1.1 des RFC -- "Einheitlichkeit bietet mehrere Vorteile. Sie ermöglicht die Verwendung verschiedener Arten von Ressourcenkennungen in ein und demselben Kontext, auch wenn die Mechanismen für den Zugriff auf diese Ressourcen unterschiedlich sein können. Sie ermöglicht eine einheitliche semantische Interpretation gemeinsamer syntaktischer Konventionen über verschiedene Arten von Ressourcenkennungen hinweg..."
Zusammengefasst: eine URI identifiziert, eine URL identifiziert und lokalisiert.
Betrachten Sie eine bestimmte Ausgabe von Shakespeares Stück Romeo und Julia , von dem Sie eine digitale Kopie in Ihrem Heimnetzwerk haben.
Sie könnten den Text identifizieren als urn:isbn:0-486-27557-4
.
Das wäre ein URI, genauer gesagt ein URN * weil es benennt den Text .
Sie könnten den Text auch wie folgt identifizieren file://hostname/sharename/RomeoAndJuliet.pdf
.
Das wäre auch ein URI, aber genauer gesagt ein URL weil es lokalisiert den Text .
*Uniform Resource Name
_(Beachten Sie, dass mein Beispiel von Wikipedia )_
Es ist hilfreich, die tatsächliche URN zu notieren (um zu sehen, wie sie sich mit einer URL vergleicht): urn:isbn:0-486-27557-4
@Michael - Ich gehe davon aus, dass ISBN 0486275574
auch den Text benennen und somit als URN qualifizieren. Ich habe ein Format gewählt, von dem ich annahm, dass es den Lesern vertrauter sein würde.
Wäre es also sinnvoll zu sagen, dass der Hash (z. B. SHA1) einer Datei eine URN für diese Datei sein könnte?
Dies sind einige sehr gut geschriebene, aber langatmige Antworten. Hier ist der Unterschied soweit CodeIgniter betroffen ist :
URL - http://example.com/some/page.html
URI - /some/page.html
Einfach ausgedrückt, ist die URL die vollständige Art und Weise, eine beliebige Ressource irgendwo zu identifizieren und kann verschiedene Protokolle wie FTP, HTTP, SCP usw. haben.
URI ist eine Ressource in der aktuellen Domäne und benötigt daher weniger Informationen, um gefunden zu werden.
In jedem Fall, in dem CodeIgniter das Wort URL oder URI verwendet, ist dies der Unterschied, über den sie sprechen, obwohl er im großen Schema des Webs nicht 100% korrekt ist.
Diese Antwort mag zu vereinfacht sein, aber betrachten Sie den Kontext seiner Frage. Das wird ihm mehr helfen, als über XML-Namespaces zu schwafeln!
Diese Antwort ist nicht nur falsch, sondern aktiv irreführend. Beide Beispiele sind URLs. Und da jede URL auch eine URI ist, bedeutet dies, dass beide Beispiele sind URIs. Um den Unterschied zwischen URIs und URLs zu verdeutlichen, ist dies völlig nutzlos.
Das ist der Unterschied, soweit es CodeIgniter betrifft. Jedes Mal, wenn sie das Wort URL oder URI verwenden, ist dies der Unterschied, über den sie sprechen. Daher ist es im großen Schema des Webs nicht 100% korrekt, aber im Rahmen der Frage des Auftraggebers (der Unterschied in CodeIgniter) ist diese Antwort vollkommen korrekt.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
183 Stimmen
URL ist spezifischer als URI.
39 Stimmen
Tor die Webmaster auf diese Frage zu nehmen: Was ist der Unterschied zwischen URI und URL?
0 Stimmen
Ich habe immer verstanden, dass ein
URL
ist das, was ein Benutzer verwenden würde, um zu einem Ort zu navigieren (egal ob manuell eingegeben oder kopiert/eingefügt), während einURI
ist die serverseitige Interpretation der ursprünglichenURL
. Aber anscheinend steckt noch viel mehr dahinter, wie in den zahlreichen Antworten beschrieben.196 Stimmen
Mini-Venn-Diagramm:
( URIs ( URLs ) )
46 Stimmen
Es scheint immer noch viel Verwirrung über URI vs. URL zu geben, sogar bei denen, die versucht haben, die Frage zu beantworten. Es wäre für alle von Vorteil, praktische Beispiele für URLs zu sehen, die keine URIs sind, Beispiele für URIs, die keine URLs sind, und Beispiele, die URLs sind y URIs.
40 Stimmen
Kathy: "Ist das Ihr Hund?" Bob: "Es wäre korrekter, ihn einen Hund zu nennen." Kathy: "Nein, er ist ein Hund. Sie, Sir, sind ein Pedant."
4 Stimmen
@hippietrail, danke für die bidirektionalen Links zwischen den beiden, viel lieber die akzeptierte Antwort auf Webmasters Stack Exchange
10 Stimmen
Nun, URI und URL sehen in einigen Schriftarten gleich aus.
0 Stimmen
URI = stackoverflow.com/questions/176264/ URL = stackoverflow.com/questions URN = /176264/was-ist-der-unterschied-zwischen-einer-uri-a-url-und-einer-urne