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

Mensen praten over URLs, URIs, en URNs alsof het verschillende dingen zijn, maar met het blote oog zien ze er hetzelfde uit.

Wat zijn de onderscheidbare verschillen tussen hen?

Oplossing

Van RFC 3986:

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 manier bieden om de bron te lokaliseren door het primaire toegangsmechanisme ervan te beschrijven (b.v. het netwerk "locatie"). De term "Uniforme Bronnaam" (Uniform Resource Name) (URN) wordt van oudsher gebruikt om te verwijzen naar zowel URI's onder de "urn" schema[RFC2141], die wereldwijd uniek moeten blijven en persistent moeten blijven, zelfs wanneer de bron ophoudt te bestaan of onbeschikbaar wordt, en naar elke andere URI met de eigenschappen van een naam.

Dus alle URL's zijn URI's (eigenlijk niet helemaal - zie hieronder), en alle URN's zijn URI's - maar URN's en URL's zijn verschillend, dus kun je niet zeggen dat alle URI's URL's zijn.

EDIT: Ik had eerder gedacht dat alle URL's geldige URI's zijn, maar zoals in de opmerkingen:

Niet "alle URL's zijn URI's". Het hangt af van de interpretatie van de RFC. Bijvoorbeeld in Java houdt de URI parser niet van [ of ] en dat'is omdat de spec zegt "should not" en niet "shall not".

Dus dat vertroebelt de wateren verder, helaas.

Als u Roger Pate's antwoord nog niet hebt gelezen, raad ik u aan dat ook te doen.

Commentaren (20)

Ze'zijn hetzelfde. Een URI is een veralgemening van een URL. Oorspronkelijk was het de bedoeling dat URI's zouden worden onderverdeeld in URL's (adressen) en URN's (namen), maar toen was er weinig verschil tussen een URL en een URI en werden http URI's gebruikt als namespaces, ook al lokaliseerden ze in feite geen bronnen.

Commentaren (4)

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

Een URL is een URI die, naast het identificeren van een bron, middelen biedt om te handelen op of het verkrijgen van een representatie van de bron door het beschrijven van zijn primaire toegangsmechanisme of netwerk "location".

Commentaren (0)