Wat is het verschil tussen een URI, een URL en een urn?

Mensen praten over URL S, Uri S en Urn S alsof ze verschillende dingen zijn, maar ze zien er hetzelfde uit het blote oog.

Wat zijn de te onderscheiden verschillen tussen hen?


1, Autoriteit 100%

van RFC 3986 :

Een URI kan verder worden geclassificeerd als locator, een naam of beide. De
Term “Uniform Resource Locator” (URL) verwijst naar de subset van URI’s
dat, naast het identificeren van een hulpbron, een middel voor
het lokaliseren van de bron door het primaire toegangsmechanisme te beschrijven
(bijvoorbeeld zijn netwerk “locatie”). De term “uniform resource naam”
(Urn) is historisch gezien om naar zowel URI’s onder de
“urn” -schema [RFC2141] , die nodig zijn om wereldwijd uniek te blijven
en persistent, zelfs als de resource ophoudt om te bestaan ​​of wordt
niet beschikbaar, en op een andere URI met de eigenschappen van een naam.

Dus alle URL’s zijn URI’s en alle urnen zijn URI’s – maar urnen en URL’s zijn anders, dus u kunt niet zeggen dat alle URI’s URL’s zijn.

Als u zich nog niet hebt gelezen Roger Pate’s antwoord , zou ik het ook adviseren.


2, Autoriteit 213%

URI Identificeer en URL S Lokaliseren ; Locators zijn echter ook identifiers , dus elke URL is ook een URI, maar er zijn URI’s die geen URL’s zijn.

Voorbeelden

  • Roger Pate

Dit is mijn naam, wat een identificatie is.
Het is als een URI, maar kan geen URL zijn, omdat het u niets vertelt over mijn locatie of hoe u contact met mij kunt opnemen.
In dit geval identificeert het toevallig ook minstens 5 andere mensen in de VS alleen.

  • 4914 West Bay Street, Nassau, Bahama’s

Dit is een locator, een identificatie voor die fysieke locatie.
Het is als zowel een URL als een URI (aangezien alle URL’s URI’s zijn), en identificeert mij ook indirectals “bewoner van…”.
In dit geval identificeert het mij op unieke wijze, maar dat zou veranderen als ik een kamergenoot krijg.

Ik zeg “vind ik leuk” omdat deze voorbeelden niet de vereiste syntaxis volgen.

Populaire verwarring

Van Wikipedia:

In de informatica is een Uniform Resource Locator (URL) een subset van de Uniform Resource Identifier (URI) die specificeert waar een geïdentificeerde resource beschikbaar is en het mechanisme om deze op te halen. In populair gebruik en in veel technische documenten en verbale discussies wordt het vaak ten onrechte gebruikt als synoniem voor URI, … [nadruk van mij]

Vanwege deze veel voorkomende verwarring gebruiken veel producten en documentatie ten onrechte de ene term in plaats van de andere, kennen ze hun eigen onderscheid toe of gebruiken ze ze als synoniemen.

URN’s

Mijn naam, Roger Pate, zou kunnen zijn als een URN(Uniform Resource Name), behalve dat zijn veel meer gereguleerden bedoeld om uniek te zijn in zowelruimte als tijd.

Omdat ik deze naam momenteel met andere mensen deel, is het niet wereldwijd uniek en zou niet geschikt zijn als een urn. Echter, zelfs als geen ander gezin deze naam gebruikte, ben ik genoemd naar mijn vaderlijke grootvader, dus het zou nog steeds niet uniek zijn in de tijd. En zelfs als dat niet het geval was, maakte de mogelijkheid om mijn afstammelingen te benoemen nadat ik dit niet geschikt is als een urn.

URN’s zijn anders dan URL’s in deze stijve uniciteitsbeperking, ook al delen ze allebei de syntaxis van URI’s.


3, Autoriteit 39%

Uri – uniform resource-identifier

URI’s zijn standaard voor het identificeren van documenten met behulp van een korte reeks cijfers, letters en symbolen. Ze worden gedefinieerd door RFC 3986 – uniform resource-identifier (URI): generieke syntaxis . URL’s, URN’s en URC’s zijn allemaal -typen van URI.

URL – uniform resource locator

bevat informatie over het halen van een resource vanaf de locatie. Bijvoorbeeld:

  • http://example.com/mypage.html
  • ftp://example.com/download.zip
  • mailto:[email protected]
  • file:///home/user/file.txt
  • tel:1-888-555-5555
  • http://example.com/resource?foo=bar#fragment
  • /other/link.html(een relatieve URL, alleen nuttig in de context van een andere URL)

URL’s beginnen altijd met een protocol (http) en bevatten meestal informatie, zoals de NAWN-naam van het netwerk (example.com) en vaak een documentpad (/foo/mypage.html). URL’s hebben mogelijk queryparameters en fragment-ID’s.

urn – uniform resource naam

Identificeert een bron door een unieke en aanhoudende naam, maar vertelt u niet noodzakelijk hoe u het op internet kunt vinden. Het begint meestal met het voorvoegsel urn:Bijvoorbeeld:

  • urn:isbn:0451450523om een ​​boek te identificeren door het ISBN-nummer.
  • urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66A Globally Unieke Identifier
  • urn:publishing:book– een XML-naamruimte die het document identificeert als een type boek.

URNS kan ideeën en concepten identificeren. Ze zijn niet beperkt tot het identificeren van documenten. Wanneer een urn een document vertegenwoordigt, kan deze door een “resolver” in een URL worden vertaald. Het document kan dan worden gedownload van de URL.

URC – Uniform Resource Citation

Punten naar metagegevens over een document in plaats van naar het document zelf. Een voorbeeld van een URC is er een die wijst op de HTML-broncode van een pagina zoals: view-source:http://example.com/

gegevens Uri

In plaats van het te lokaliseren op internet, of die het benoemen, kunnen gegevens rechtstreeks in een URI worden geplaatst. Een voorbeeld zou data:,Hello%20World.


Veelgestelde vragen

Ik heb gehoord dat ik geen URL meer zou moeten zeggen, waarom?

De W3-specificatie voor HTML zegt dat de hrefvan een ankertag kan een URI bevatten, niet alleen een URL. Je zou in staat moeten zijn om een ​​urn te plaatsen, zoals <a href="urn:isbn:0451450523">. Uw browser zou die urn vervolgens op een URL oplossen en het boek voor u downloaden.

Weten alle browsers echt hoe documenten door urn te halen?

Niet dat ik weet, maar moderne webbrowser implementeert de data-URI-regeling.

Heeft het verschil tussen URL en URI iets te maken met of het relatief of absoluut is?

Nee. Zowel relatieve als absolute URL’s zijn URL’s (en Uris.)

Heeft het verschil tussen URL en URI iets te maken met of het queryparameters heeft?

Nee. Beide URL’s met en zonder queryparameters zijn URL’s (en Uris.)

Heeft het verschil tussen URL en URI iets te maken met of het een fragmentidentificatie heeft?

Nee. Beide URL’s met en zonder fragment-ID’s zijn URL’s (en Uris.)

Heeft het verschil tussen URL en URI iets te maken met welke personages zijn toegestaan?

Nee. URL’s worden gedefinieerd als een strikte subset van URI’s. Als een parser een personage in een URL mogelijk maakt, maar niet in een uri, is er een bug in de parser. De specificaties gaan in gedetailleerd over welke tekens toegestaan ​​zijn in welke delen van URL’s en Uris. Sommige tekens kunnen alleen in sommige delen van de URL worden toegestaan, maar de tekens alleen zijn geen verschil tussen URL’s en Uris.

, maar zegt de W3C nu niet dat URL’s en Uris hetzelfde zijn?

Ja. De W3C realiseerde zich dat hier veel verwarring over bestaat. Ze hebben een URI-verduidelijkingsdocumentuitgegeven waarin staat dat het nu OK is om de termen URL te gebruiken en URI door elkaar (om URI te betekenen). Het is niet langer nuttig om URI’s strikt in verschillende typen te segmenteren, zoals URL, URN en URC.

Kan een URI zowel een URL als een URN zijn?

De definitie van URN is nu losser dan wat ik hierboven vermeldde. De nieuwste RFC over URI’szegt dat elke URI nu een URN kan zijn (ongeacht of het begint met urn:) zolang het maar “de eigenschappen van een naam” heeft. Dat wil zeggen: het is wereldwijd uniek en blijvend, zelfs wanneer de bron ophoudt te bestaan of niet meer beschikbaar is. Een voorbeeld: de URI’s die worden gebruikt in HTML-doctypes zoals http://www.w3.org/TR/html4/strict.dtd. Die URI zou het tijdelijke doctype HTML4 blijven noemen, zelfs als de pagina op de w3.org-website zou worden verwijderd.



Antwoord 4, autoriteit 14%

Samengevat: een URI identificeert, een URL identificeert en lokaliseert.

Beschouw een specifieke editie van Shakespeare’s toneelstuk Romeo en Julia, waarvan je een digitale kopie op je thuisnetwerk hebt staan.

Je zou de tekst kunnen identificeren als urn:isbn:0-486-27557-4.
Dat zou een URI zijn, maar meer specifiek een URN* omdat het benoemt de tekst.

U kunt de tekst ook identificeren als file://hostname/sharename/RomeoAndJuliet.pdf.
Dat zou ook een URI zijn, maar meer specifiek een URLomdat het de tekst lokaliseert.

* uniform resourcenaam

(merk op dat mijn voorbeeld is aangepast van wikipedia )


5, Autoriteit 8%

Dit zijn enkele zeer goed geschreven maar langgekoarde antwoorden. Hier is het verschil Wat Cecececsigniter betreft :

URL http://example.com/some/page.html

uri – /some/page.html

Simpel gezegd, URL is de volledige manier om enige resources overal in te stellen en kan verschillende protocollen bevatten zoals FTP, HTTP, SCP, enz.

URI is een bron op het huidige domein, dus het heeft minder informatie nodig die moet worden gevonden.

In elk geval gebruikt dat Cececesigner het woord URL of URI dit is het verschil waar ze het over hebben, hoewel in het grootschema van het web, het is niet 100% correct.


6, Autoriteit 5%

Allereerst haal je gedachten uit verwarring en neem het eenvoudig en je zult het begrijpen.

uri = & gt; Uniform Resource Identifier
Identificeert een volledig adres van resource i-e-locatie, naam of beide.

URL = & GT; Uniform Resource Locator
Identificeert de locatie van de bron.

urn = & gt; Uniforme resourcenaam
Identificeert de naam van de bron

voorbeeld

We hebben adres https://www.google.com/folder/pagina. html waar,

URI (Uniform Resource Identifier) ​​= & GT; https://www.google.com/folder/page.html

URL (Uniform Resource Locator) = & GT; https://www.google.com/

urn (uniform resource naam) = & GT; /folder/page.html

Uri = & GT; (URL + URN) of URL alleen of urn alleen


7, Autoriteit 4%

Een kleine toevoeging aan de reeds gepost antwoorden, hier is het diagram van een Venn om de theorie samen te vatten (van Prateek Joshi’s beautiful Uitleg ):

en een voorbeeld (ook van de website van Prateek):


8, Autoriteit 3%

identiteit = naam met locatie

Elke URL (U Niform R Esource L Ocator) is een URI (U Niform R Esource I Tentifier), abstract gesproken, maar elke URI is geen URL. Er is een andere subcategorie van URI is URN (U Niform R Esource N AME), wat een naam resource is, maar niet specificeren hoe u kunt vinden ze, zoals mailto, nieuws, ISBN is URI’s. bron

urn:

  • URN-indeling: urn:[namespace identifier]:[namespace specific string]
  • urn: en: sta voor zichzelf.
  • voorbeelden :
  • URN: UUID: 6E8BC430-9C3A-11D9-969-0800200C9A66
  • URN: ISSN: 0167-6423
  • URN: ISBN: 096139210X
  • Namen van Amazon-bronnen (ARN’s)is een uniek identificeerbare AWS-resource.
    • ARN-indeling: arn:partition:service:region:account-id:resource

URL:

  • URL-indeling: [scheme]://[Domain][Port]/[path]?[queryString]#[fragmentId]
  • :,//,? en # staan voor zichzelf.
  • schema’s zijn https,ftp,gopher,mailto,news,telnet,file,man,info,whatis,ldap…
  • Voorbeelden:
  • http://ip_server/path?query
  • ftp://ip_server/pad
  • mailto:e-mailadres
  • nieuws:nieuwsgroepnaam
  • telnet://ip_server/
  • file://ip_server/path_segments
  • ldap://hostport/dn?attributes?scope?filter?extensions

Analogie:
Om een persoon te bereiken: Rijden (protocol anderen sms, e-mail, telefoon), adres (hostnaam ander telefoonnummer, e-mailadres) en persoonsnaam (objectnaam met een relatief pad).


Antwoord 9, autoriteit 3%

Dit is een van de meest verwarrende en mogelijk irrelevante onderwerpen die ik als webprofessional ben tegengekomen.

Zoals ik het begrijp, is een URI een beschrijving van iets, volgens een geaccepteerd formaat, dat zowel de unieke naam (identificatie) van iets of de locatie ervan kan definiëren.

Er zijn twee basissubsets:

  • URL’s, die de locatie definiëren (vooral voor een browser die een webpagina probeert op te zoeken) en
  • URN’s, die de unieke naam van iets definiëren.

Ik heb de neiging om te denken aan Urnen als vergelijkbaar met gids. Ze zijn gewoon een gestandaardiseerde methodologie voor het leveren van unieke namen voor dingen. Zoals in de naam van de naamruimte die de naam van een bedrijf gebruikt – het is niet alsof er een resource zit op een server ergens om overeen te komen met die lijn van tekst – het identificeert eenvoudig op unieke wijze iets.

Ik heb ook de neiging om de term URI volledig te vermijden en dingen alleen te bespreken in termen van URL of URN, omdat het zoveel verwarring veroorzaakt. De vraag die we echt moeten proberen te antwoorden op mensen is niet zozeer de semantiek, maar hoe te identificeren bij het vinden van de voorwaarden, ongeacht of er al dan niet praktisch verschil in hen is die de aanpak van een programmeersituatie zal veranderen. Als iemand me bijvoorbeeld in gesprek corrigeert en zegt: “Oh, dat is geen URL, het is een uri” Ik weet dat ze er vol van zijn. Als iemand zegt: “We gebruiken een urn om de bron te definiëren,” Ik begrijp waarschijnlijker dat we het alleen maar uniek noemen, niet op een server lokaliseren.

Laat het me weten als ik ouder zijn, laat het me weten!


10, Autoriteit 2%

Uri = & GT; http://en.wikipedia.org/wiki/uniform_resource_Identifier

URL’s zijn een subset van URI’s (die ook URN’s bevatten).

Kortom, een URI is een algemene identifier, waarbij een URL een locatie aangeeft en een urn aangeeft een naam.


11, Autoriteit 2%

Nog een voorbeeld Ik hou van gebruiken bij het nadenken over URI’s is het XMLNS-kenmerk van een XML-document:

<rootElement xmlns:myPrefix="com.mycompany.mynode">
    <myPrefix:aNode>some text</myPrefix:aNode>
</rootElement>

In dit geval zou com.mycompany.mynode een URI zijn die de naamruimte “myPrefix” op unieke wijze identificeert voor alle elementen die het gebruiken in mijn XML-document. Dit is GEEN URL omdat het alleen wordt gebruikt om te identificeren, niet om iets op zich te lokaliseren.


Antwoord 12, autoriteit 2%

Ze zijn hetzelfde. Een URI is een generalisatie van een URL. Oorspronkelijk was het de bedoeling dat URI’s werden opgedeeld in URL’s (adressen) en URN’s (namen), maar toen was er weinig verschil tussen een URL en URI en werden http-URI’s gebruikt als naamruimten, ook al vonden ze geen bronnen.


Antwoord 13, autoriteit 2%

Vanwege moeilijkheden om duidelijk onderscheid te maken tussen URI en URL, maakt W3C, voor zover ik me herinner, geen verschil meer tussen URI en URL (http://www.w3.org/Addressing/).


Antwoord 14

URI, URL, URN

Zoals de afbeelding hierboven aangeeft, zijn er drie verschillende componenten in het spel. Het is meestal het beste om naar de bron te gaan bij het bespreken van dit soort zaken, dus hier is een fragment van Tim Berners-Lee, et. al. in
RFC 3986: Uniform Resource Identifier (URI): Algemene syntaxis:

Een Uniform Resource Identifier (URI) is een compacte reeks van:
karakters die een abstracte of fysieke bron identificeren.

Een URI kan verder worden geclassificeerd als een locator, een naam of beide. De
term “Uniform Resource Locator” (URL) verwijst naar de subset van URI’s
die, naast het identificeren van een bron, een middel bieden om
het lokaliseren van de bron door het primaire toegangsmechanisme te beschrijven
(bijvoorbeeld zijn netwerk “locatie”).


Antwoord 15

URI is een soort superklasse van URL’s en URN’s. Wikipedia heeft een goed artikelover hen met links naar de juiste set RFC’s.


Antwoord 16

Wikipedia geeft hier alle informatie die je nodig hebt. Citaat uit http://en.wikipedia.org/wiki/URI:

Een URL is een URI die, naast het identificeren van een bron, een manier biedt om te handelen naar of een representatie van de bron te verkrijgen door het primaire toegangsmechanisme of netwerk “locatie” te beschrijven.


Antwoord 17

URL

Een URL is een specialisatie van URI die de netwerklocatie van een specifieke bron definieert. In tegenstelling tot een URN definieert de URL hoe de bron kan worden verkregen. We gebruiken elke dag URL’s in de vorm van http://example.comenz. Maar een URL hoeft geen HTTP-URL te zijn, het kan ftp://example.comenz. ook.

URI

Een URI identificeert een bron, hetzij op locatie, hetzij op naam, of beide. Vaker wel dan niet, gebruiken de meesten van ons URI’s die een locatie naar een bron definiëren. Het feit dat een URI een bron zowel op naam als op locatie kan identificeren, heeft naar mijn mening tot veel verwarring geleid. Een URI heeft twee specialisaties die bekend staan als URL en URN.

Verschil tussen URL en URI

Een URI is een identificatie voor een bepaalde bron, maar een URL geeft u specifieke informatie om die bron te verkrijgen. Een URI is een URL en zoals een commentator opmerkte, wordt het nu als onjuist beschouwd om een URL te gebruiken bij het beschrijven van applicaties. Over het algemeen geldt dat als de URL zowel de locatie als de naam van een bron beschrijft, de te gebruiken term URI is. Aangezien dit over het algemeen het geval is dat de meesten van ons elke dag tegenkomen, is URI de juiste term.


Antwoord 18

Een URI identificeert een bron, hetzij op locatie, hetzij op naam, of beide. Vaker wel dan niet, gebruiken de meesten van ons URI’s die een locatie naar een bron definiëren. Het feit dat een URI een bron zowel op naam als op locatie kan identificeren, heeft naar mijn mening tot veel verwarring geleid. Een URI heeft twee specialisaties die bekend staan als URL en URN.

Een URL is een specialisatie van URI die de netwerklocatie van een specifieke bron definieert. In tegenstelling tot een URN definieert de URL hoe de bron kan worden verkregen. We gebruiken elke dag URL’s in de vorm van http://stackoverflow.com, enz. Maar een URL hoeft geen HTTP-URL te zijn, het kan ftp://example.com, enz. zijn.


Antwoord 19

Volgens RFC 3986bestaan URI’s uit de volgende onderdelen:

scheme://authority/path?query

De URI beschrijft het protocol voor toegang tot een bron (pad) of applicatie (query) op een server (autoriteit).

Alle URL’s zijn URI’s en alle URN’s zijn URI’s, maar alle URI’s zijn geen URL’s.

Raadpleeg voor meer details:

Wikipedia


Antwoord 20

Hoewel de termen URI en URL strikt gedefinieerd zijn, gebruiken velen de termen voor andere dingen dan waarvoor ze zijn gedefinieerd.

Laten we bijvoorbeeld Apache nemen. Als http://example.com/foowordt aangevraagd bij een Apache-server, heb je de volgende omgevingsvariabelen instellen:

  • REDIRECT_URL: /foo
  • REQUEST_URI: /foo

Als mod_rewrite is ingeschakeld, heb je ook deze variabelen:

  • REDIRECT_SCRIPT_URL: /foo
  • REDIRECT_SCRIPT_URI: http://example.com/foo
  • SCRIPT_URL: /foo
  • SCRIPT_URI: http://example.com/foo

Dit kan de reden zijn voor een deel van de verwarring.


Antwoord 21

Bekijk dit document. Specifiek,

een URL is een type URI dat een bron identificeert via een weergave van het primaire toegangsmechanisme (bijvoorbeeld de netwerklocatie”), in plaats van door een aantal andere kenmerken die het kan hebben.

Het is eigenlijk geen erg duidelijke term.


Antwoord 22

Na het lezen van de berichten, vind ik een aantal zeer relevante opmerkingen. Kortom, de verwarring tussen de URL- en URI-definities is deels gebaseerd op welke definitie afhangt van welk en ook informeel gebruik van het woord URI in softwareontwikkeling.

Per definitie-URL is een subset van URI [RFC2396]. URI bevatten Urn en URL. Zowel URI als URL hebben elk hun eigen specifieke syntaxis die de status van URI of URL verleent. URN is voor het uniek identificeren van een resource terwijl url voor het lokaliseren van een resource. Merk op dat een resource meer dan één URL kan hebben, maar slechts een enkele urn. [RFC2611]

Als webontwikkelaars en programmeurs zullen we bijna altijd bezig zijn met URL en daarom Uri. Nu is een URL specifiek gedefinieerd om alle onderdelenschema te hebben: schema-specifiek-onderdeel, zoals bijvoorbeeld https://stackoverflow.com/questions. Dit is een URL en het is ook een URI. Overweeg nu een relatieve link ingebed op de pagina zoals ../index.html. Dit is per definitie niet langer een URL. Het is nog steeds wat wordt aangeduid als een “uri-referentie” [RFC2396].

Ik ben van mening dat wanneer het woord URI wordt gebruikt om te verwijzen naar relatieve paden, “Uri-referentie” is eigenlijk wat er aan wordt gedacht. Dus informeel gebruiken softwaresystemen URI om te verwijzen naar relatieve pathing en URL voor het absolute adres. Dus in deze zin is een relatief pad niet langer een URL, maar nog steeds Uri.


23

Hier is mijn vereenvoudiging:

URN: Unieke resourcenaam, d.w.z. “wat” (bijv. Urn: ISSN: 1234-5678). Dit is bedoeld als uniek .. Zoals in geen twee verschillende documenten kunnen dezelfde urn hebben. Een beetje zoals “UUID”

URL: “Waar” om het te vinden (bijvoorbeeld https://google.com/pub? ISSNID = 1234-5678 .. OF
ftp://somesite.com/doc8.pdf )

URI: kan een urn of een URL zijn. Deze fuzzy definitie is dankzij RFC 3986 geproduceerd door W3C en IETF.

De definitie van URI is in de loop der jaren veranderd, dus het is logisch dat de meeste mensen in de war zijn. U kunt nu echter troost putten uit het feit dat u naar http://somesite.com/somethingkunt verwijzen als ofwel een URL of URI … en je hebt hoe dan ook gelijk (althans voorlopig toch…)


Antwoord 24

Ik vroeg me hetzelfde af en ik heb dit gevonden: http://docs.kohanaphp .com/helpers/url.

Je kunt een duidelijk voorbeeld zien met behulp van de url::current()methode.
Als je deze URLhebt: http://example.com/kohana/index.php/welcome/home.html?query=stringdan gebruik je url:current()geeft je de URIdie, volgens de documentatie, is: welcome/home


Antwoord 25

Om dit te beantwoorden, steun ik op een antwoord dat ik heb aangepast naar een andere vraag. Een goed voorbeeld van een URI is hoe u een Amazon S3-resource identificeert. Laten we nemen:

s3://www-example-com/index.html[fig. 1]

die ik heb gemaakt als een gecachte kopie van

http://www.example.com/index.html[fig. 2]

in het S3-US-West-2datacenter van Amazon.

Zelfs als ik met StackOverflow zou kunnen hyperlinken naar de s3://protocolschema, het zou je geen goed doen om de bron te lokaliseren. Omdat het Identificeerteen Bron, fig. 1is een geldige URI. Het is ook een geldige URN, omdat Amazon vereist dat de bucket (de term voor het authority-gedeelte van de URI) uniek is in datacenters. Het is nuttigom het te lokaliseren, maar het geeft niet het datacenter aan. Daarom werkt het niet als een URL.

Dus, hoe verschillen URI, URL en URN in dit geval?

OPMERKING:RFC 3986 definieert URI’s als scheme://authority/path?query#fragment


Antwoord 26

URI’s zijn ontstaan uit de behoefte om bronnen op het web, en andere internetbronnenzoals elektronische mailboxen op een uniforme en coherente manier te identificeren. Men kan dus een nieuw type widget:URI’s introduceren om widget-bronnen te identificeren of tel:URI’s gebruiken om weblinks te laten bellen naar worden gemaakt wanneer er een beroep op wordt gedaan.

Sommige URI’s bieden informatie om een bron te lokaliseren (zoals een DNS-hostnaam en een pad op die computer), terwijl sommige worden gebruikt als pure bronnamen. De URLis gereserveerd voor identifiers die bronzoekerszijn, inclusief ‘http’-URL’s zoals http://stackoverflow.com, die de webpagina op het opgegeven pad op de host. Een ander voorbeeld zijn ‘mailto’-URL’s, zoals mailto:[email protected], waarmee de mailbox op het opgegeven adres wordt geïdentificeerd.

URN’szijn URI’s die worden gebruikt als pure resourcenamenin plaats van als locators. De URI: mid:[email protected]is bijvoorbeeld een URN die het e-mailbericht identificeert dat het bevat in het veld ‘Message-Id’. De URI dient om dat bericht te onderscheiden van elk ander e-mailbericht. Maar het geeft zelf in geen enkele winkel het adres van het bericht.


Antwoord 27

De beste (technische) samenvatting imois deze

IRI, URI, URL, URN en hun verschillenvan Jan Martin Keil:

IRI, URI, URL, URN en hun verschillen

Iedereen die met het semantisch web te maken heeft, komt herhaaldelijk de termen IRI, URI, URLen URNtegen. Toch merk ik regelmatig dat er enige verwarring bestaat over de exacte betekenis ervan. En dat merkten natuurlijk ook anderen (zie bijvoorbeeld RFC3305 of zoek op Google). Eerlijk gezegd was ik in het begin zelfs in de war. Maar eigenlijk is de kwestie niet zo ingewikkeld. Laten we eens kijken naar de definities van de genoemde termen om te zien wat de verschillen zijn:

URI

Een Uniform Resource Identifieris een compacte reeks tekens die een abstracte of fysieke bron identificeert. De set tekens is beperkt tot US-ASCII, met uitzondering van enkele gereserveerde tekens. Tekens buiten de set toegestane tekens kunnen worden weergegeven met behulp van procentcodering. Een URI kan worden gebruikt als een locator, een naam of beide. Als een URI een locator is, beschrijft deze het primaire toegangsmechanisme van een resource. Als een URI een naam is, identificeert deze een resource door deze een unieke naam te geven. De exacte specificaties van syntaxis en semantiek van een URI zijn afhankelijk van het gebruikte schema dat wordt gedefinieerd door de tekens vóór de eerste dubbele punt. [RFC3986]

URN

Een Uniform Resource Nameis een URI in de schema-urn die bedoeld is om te dienen als persistente, locatie-onafhankelijke resource-ID. Historisch gezien verwees de term ook naar een URI. [RFC3986] Een URN bestaat uit een Namespace Identifier (NID) en een Namespace Specific String (NSS): urn:: De syntaxis en semantiek van de NSS is specifiek specifiek voor elke NID. Naast de geregistreerde NID’s zijn er nog een aantal NID’s die het officiële registratieproces niet hebben doorlopen. [RFC2141]

URL

Een Uniform Resource Locatoris een URI die niet alleen een bron identificeert, maar ook een manier biedt om de bron te lokaliseren door het primaire toegangsmechanisme ervan te beschrijven [RFC3986]. Aangezien er geen exacte definitie van URL is door middel van een reeks schema’s, is “URL een nuttig maar informeel concept”, meestal verwijzend naar een subset van URI’s die geen URN’s bevatten [RFC3305].

IRI

Een Internationalized Resource Identifierwordt op dezelfde manier gedefinieerd als een URI, maar de tekenset is uitgebreid tot de Universal Coded Character Set. Daarom kan het alle Latijnse en niet-Latijnse karakters bevatten, behalve de gereserveerde karakters. In plaats van de definitie van URI uit te breiden, werd de term IRI geïntroduceerd om een duidelijk onderscheid mogelijk te maken en onverenigbaarheden te vermijden. IRI’s zijn bedoeld om URI’s te vervangen bij het identificeren van bronnen in situaties waarin de Universal Coded Character Set wordt ondersteund. Elke URI is per definitie een IRI. Verder is er een gedefinieerde surjectieve toewijzing van IRI’s aan URI’s: elke IRI kan worden toegewezen aan precies één URI, maar verschillende IRI’s kunnen worden toegewezen aan dezelfde URI. Daarom levert de conversie van een URI naar een IRI mogelijk niet de oorspronkelijke IRI op. [RFC3987]

Samenvattend kunnen we zeggen:

IRI is a superset of URI (IRI ⊃ URI)
URI is a superset of URL (URI ⊃ URL)
URI is a superset of URN (URI ⊃ URN)
URL and URN are disjoint (URL ∩ URN = ∅)

Conclusies voor semantische webproblemen

RDF maakt het expliciet toe om iris te gebruiken om entiteiten te namen [RFC3987]. Dit betekent dat we bijna elk personage in entiteitsnamen kunnen gebruiken. Aan de andere kant hebben we vaak te maken met vroege staatsoftware. Het is dus niet onwaarschijnlijk dat het problemen tegenkomt met behulp van niet-ASCII-tekens. Daarom stel ik voor om niet-URI-namen voor entiteiten te vermijden en aan te bevelen om HTTP URI’s te gebruiken [Linked-Data]. Om het kort te stellen: gebruik alleen URL’s om uw entiteiten te noemen. Natuurlijk kunnen we verwijzen naar bestaande entiteiten met de naam door een urn. We moeten echter vermijden om dit soort identifiers opnieuw te creëren.


28

Ik heb gevonden:


Een uniform resource identifier (URI) vertegenwoordigt iets van een groot geheel. U kunt URI’s splitsen/ URI’s kunnen worden geclassificeerd als locators (uniform resource locators- URL), of als namen (uniform resource name-URN), of beide. Dus eigenlijk functioneert een URN als de naam van een persoon en de URL geeft het adres van die persoon weer. Om een lang verhaal kort te maken, een URN definieert de identiteit van een item, terwijl de URL de methode definieert om het te vinden, en uiteindelijk deze twee concepten inkapselend is de URI


Antwoord 29

Het antwoord is dubbelzinnig. In Java wordt het vaak op deze manier gebruikt:

Een Uniform Resource Locator (URL) is de term die wordt gebruikt om een internetbron te identificeren, inclusief het schema (http, https, ftp, nieuws, enz.). Bijvoorbeeld Wat is het verschil tussen een URI, een URL en een URN?

Een Uniform Resource Identifier (URI) wordt gebruikt om een enkel document in de webserver te identificeren: bijvoorbeeld /questions/176264/whats-the-difference-between-a-uri-and-a-url

In Java-servlets verwijst de URI vaak naar het document zonder de context van de webtoepassing.

Other episodes