Image de couverture - Différences entre URI, URL et URN

Différences entre URI, URL et URN

Les URI, URL et URN permettent d'identifier des ressources sur internet. Mais quelles sont leurs caractéristiques ?

Icône de calendrier
Icône de chronomètre 5 min

La plupart des gens connaissent le terme « URL », ces adresses nous permettant d’accéder à des sites web. Mais peu de gens savent à quoi correspondent les termes URI et URN.

URI

Qu’est ce qu’une URI ?

Une URI (Uniform Resource Identifier) est une chaîne de caractères qui identifie de manière unique une ressource sur le web.

Les URI peuvent être utilisées pour identifier n’importe quelle ressource via un nom/identifiant, un emplacement ou les deux. Ces ressources peuvent être des :

  • Pages web
  • Images
  • Vidéos
  • Documents PDF
  • Bases de données
  • Fichiers de polices
  • Codes source (JS, CSS…)
  • Données structurées (JSON, XML…)
  • Livres
  • Publications périodiques/scientifiques
  • Etc.

Deux catégories d’URI

Sur le web, les URI sont classifiées selon 2 catégories :

  • Les Uniform Resource Locators (URL)
  • Les Uniform Resource Names (URN)

Détaillons leurs caractéristiques respectives.

URL

Qu’est ce qu’une URL ?

Une URL (Uniform Resource Locator) est un type spécifique d’URI qui fournit l’emplacement d’une ressource.

Les ressources présentes sur le web sont désignées par leur URL étant donnée qu’elles sont identifiées par leur localisation (le serveur) et accessibles via un protocole (http/https).

Syntaxe et structure

Une URL est constituée de cinq composants :

  • Le schéma
  • L’autorité
  • Le chemin
  • La chaîne de requête
  • Le fragment

Une URL respecte la syntaxe suivante :

scheme:[//authority]path[?query][#fragment]

Prenons l’exemple d’une URL classique et découpons-la de sorte à distinguer ses composants :

Schéma - Composants d'URL
Schéma - Composants d'URL

Schéma

Le schéma (ou « scheme ») définit le système d’adressage. Il s’agit généralement d’un protocole utilisé (tel que http, https, ftp…) pour accéder à une ressource.

Ce composant se termine toujours par :.

http:
https:
ftp:
file:
mailto:
mongodb:

Autorité

L’autorité (ou « authority ») définit l’entité qui a l’autorité sur la ressource identifiée. Plus simplement, elle représente l’emplacement où se situe la ressource.

Sur le web, il s’agit généralement d’un nom de domaine, d’une adresse email ou d’une adresse IP.

L’autorité est constituée de 3 composants :

  • (facultatif) Des informations utilisateur (séparées par : et suffixé par un @)
  • (obligatoire) L’hôte (adresse IP ou nom de domaine)
  • (facultatif) Un port, préfixé par :

Ce composant est toujours précédé par //.

https://laconsole.dev
http://127.0.0.1:3000
mailto://[email protected]
mongodb://user:[email protected]:3307

Chemin

Le chemin (ou « path ») dans une URL représente l’emplacement de la ressource sur le serveur.

Le chemin peut être absolu ou relatif.

Il est précédé d’un / et chacune de ses parties est également séparée par des /.

http://127.0.0.1:3000/contact
https://laconsole.dev/formations/html
file:///C:/Users/toto/Downloads/facture-1.pdf

Chaîne de requête

La chaîne de requête (ou « query string ») est utilisée pour transmettre des données au serveur sous forme de paires clé-valeur.

Elle débute par un ? et peut contenir plusieurs paires clé-valeur séparées par des &.

https://laconsole.dev/search?q=securite
https://laconsole.dev/formations/html?page=2&lang=fr

Fragment

Le fragment, aussi appelé « ancre », comprend un identifiant de fragment qui indique la direction à suivre pour accéder à une ressource secondaire.

Il renvoie à une section différente de la ressource principale.

Un fragment est précédé d’un #.

https://laconsole.dev/formations/html/balises-generiques#div

URN

Qu’est ce qu’une URN ?

Une URN (Uniform Resource Name) est un autre type d’URI qui fournit un nom unique et persistant pour une ressource.

Contrairement aux URL, les URN ne fournissent pas l’emplacement de la ressource. Au lieu de cela, ils fournissent un identifiant unique qui peut être utilisé pour reconnaître une ressource, même si son emplacement change.

Voici quelques exemples d’URN :

  • Numéro ISBN d’un livre (exemple : 978-2-7654-0912-0)
  • UUID (exemple : f81d4fae-7dec-11d0-a765-00a0c91e6bf6)
  • DOI (exemple : 10.1002/0470841559)
  • Spécification RFC (exemple : 2648)

Syntaxe et structure

Une URN est constituée de trois composants :

  • Le schéma urn
  • L’espace de nom
  • L’identifiant

Une URN respecte la syntaxe suivante :

urn:[namespace]:[id]

Schéma

Le schéma défini pour un URN est systématiquement urn.

urn:

Espace de nom

L’espace de nom (ou « namespace ») correspond à un identifiant défini par l’IANA permettant de représenter la typologie de la ressource.

urn:isbn
urn:uuid
urn:doi
urn:ietf-rfc

Identifiant

L’identifiant correspond à la valeur définie pour la ressource dans l’espace de nom auquel il est rattaché.

Cette suite peut également comporter des chiffres, des lettres ou encore des caractères spéciaux.

urn:isbn:978-2-7654-0912-0
urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6
urn:doi:10.1002/0470841559
urn:ietf:rfc:2648

Sur le web, les URN les plus répandus sont les UUID, qui permettent, entre autres, d’identifier des ressources telles que des enregistrements en base de données (produits, articles, utilisateurs…).

Différences entre URI, URL et URN : tableau comparatif

Voici un tableau comparatif qui résume les différences entre URI, URL et URN :

URIURLURN
SignificationUniform Resource IdentifierUniform Resource LocatorUniform Resource Name
IdentifieUne ressource (localisation et/ou nom)L’emplacement d’une ressourceUn nom unique et persistant pour une ressource
Syntaxe-scheme:[//authority]path[?query][#fragment]urn:[namespace]:[id]
Exemple-https://laconsole.dev/search?q=html#resultsurn:isbn:978-2-7654-0912-0

En résumé, les URI sont des identifiants uniques pour les ressources sur le web, les URL sont un type spécifique d’URI qui fournit l’emplacement d’une ressource sur le web, et les URN sont un autre type d’URI qui fournit un nom unique et persistant pour une ressource.

Lire aussi