
© Markus Spiske via Unsplash
Anatomie d'une URL
Quoi de plus banal de nos jours qu’une URL telle que google.com
ou wikipedia.fr
? Dans le monde du développement web, utiliser des URLs fait partie du quotidien. On les trouve partout, pour aller sur notre moteur de recherche préféré, pour consulter l’un des résultats de recherche, mais aussi pour appeler une API afin d’effectuer une action quelconque.
Quels secrets se cache derrière ces fameuses URLs ? C’est ce que nous allons tenter d’éclaircir dans cet article !
Naissance des URLs
Si dans le langage courant on parle d’adresse web, le terme consacré derrière le sigle URL est le suivant : Uniform Resource Locator (localisateur uniforme de ressource). J’ai beau être amoureux de notre langue, je constate bien souvent que les termes techniques sont généralement plus simples et agréables à prononcer que leur version francophone.
On peut situer la naissance des URLs aux alentours de 1992, par non moins que le créateur du web, Tim Berners-Lee.
Structure des URLs
Si récemment nos navigateurs affichent uniquement google.com dans leur barre d’adresse, ce n’est pas pour autant que google.com
est une URL valide. En fait, nos navigateurs web masquent depuis quelques années la première partie de cette URL, les fameux http://www.
.
Pourquoi ? L’écrasante majorité des URLs commençant par http://www.
, il a été jugé utile de ne plus demander aux utilisateurs de saisir le début de ces URLs. Quand vous allez sur votre moteur de recherche préféré, vous n’allez pas sur la page monmoteurderechercheprefere.com
, mais bien sur la page http://www.monmoteurderechercheprefere.com
. Avouez que c’est quand même lisible sans le préfixe !
Mais au fait, pourquoi on met http://www.
au début d’une URL ? Comme le suggère l’écriture de ce fragment d’URL, on a ici deux éléments à considérer séparément :
- http : le protocole
- www : le sous-domaine
Le protocole
Quand on parle de web, on entend souvent parler de protocole. Alors que nous rencontrons habituellement le protocole http
, ne perdons pas de vue le fait qu’il existe une multitude de protocoles pour le web. Pour ne citer que les principaux, on peut parler de :
http
: accès à des pages web non sécurisées (paramètres d’URL en clair) => accès à une page webhttps
: accès à des pages web sécurisées (chiffrement de l’URL) => accès à une page web avec des informations sensibles (votre banque, les impôts)ftp
: transfert de fichier entre 2 ordinateurs (envoi de fichiers volumineux)websocket
: ouverture d’une connexion bidirectionnelle persistante entre un client et un serveur (messagerie instantanée)
Le protocole nous permet donc de savoir quel type d’informations vont circuler via l’URL que nous empruntons.
Le sous-domaine
Les fameux trois “w” que l’on précisait à chaque fois qu’on parlait d’un site web ne sont pas anodins. Ils désignent une partie spécifique d’un site web. Reprenons notre moteur de recherche favori. Son adresse ressemble à www.monmoteurderechercheprefere.com
. Les trois “w” constituent un sous-domaine de monmoteurderechercheprefere
. Si votre moteur de recherche préféré vous propose un service de mail, il y a fort à parier qu’il possède un sous domaine mail, donnant l’URL suivante : mail.monmoteurderechercheprefere.com
. Mieux, s’il possède un blog, il aura probablement un sous-domaine blog
.
Si on compare l’URL à une résidence composée de plusieurs bâtiments, chaque sous-domaine est représentée par un bâtiment au sein de votre résidence.
Le domaine
Dès qu’on parle de web, le nom de domaine est le terme qu’on entend le plus fréquemment. Le nom de domaine d’un site web est ni plus ni moins que son adresse exacte. Si toutes les machines connectées au web sont identifiées par leur adresse IP, impossible pour des humains de devoir connaître l’adresse IP de chaque site web avant d’y accéder. Le nom de domaine est le nom sur la boîte aux lettres de votre site, qui permet de dire que le 27 rue de Versailles à Rouen est bien votre adresse et pas celle de votre voisin.
Les entreprises, les institutions possèdent leur propre nom de domaine. Les particuliers peuvent en posséder également.
Après le domaine, on trouve invariablement un point suivi de 2 ou 3 lettres, il s’agit du domaine de premier niveau (top level domain en anglais, ou TLD).
Le domaine de premier niveau
Quand on parle d’URL, on précise toujours l’extension de cette URL. Vous savez, c’est le fameux .com
, ou le fameux .fr
qui vient compléter notre nom de domaine. Cette extension est en réalité un domaine. Contrairement aux domaines décrits précédemment, ce domaine-là regroupe un très grand nombre de sites web. On parle de domaine de premier niveau.
Si vous me posez la question, je retrouverai probablement une dizaine d’extensions, mais en réalité il en existe près de 2000 !
Si l’on exclut l’extension .arpa
qui désigne un domaine de premier niveau spécial (dédié à la gestion de l’infrastructure réseau d’internet), on peut regrouper les extensions en 2 groupes distincts :
- les domaines nationaux (ou ccTLD : country code Top-Level Domain), composés de 2 lettres (.fr, .de, .it etc.)
- les domaines génériques (ou gTLD : Generic Top-Level Domain), composés de plus de 2 lettres (.com, .org, etc.)
Avec tous ces éléments, on parvient à la structure suivante :
protocole://sous-domaine.domaine.domaine-de-premier-niveau
C’est bien, mais nous n’irons pas loin sans ajouter de nouveaux éléments à nos URLs. Tous les protocoles n’utilisent pas le même port pour accéder à une machine. Chaque protocole utilise un port par défaut, qui n’a pas besoin d’être précisé si c’est bien lui qui est utilisé par la machine. Si notre moteur de recherche préféré n’utilisait pas le port 80, on aurait ceci :
http://www.monmoteurderechercheprefere.com:<monport>
Une URL permet bien entendu d’accéder à des pages web, mais elle permet également d’accéder à l’arborescence de notre site web, et on a besoin d’ajouter ici ce qu’on appelle le chemin absolu.
Le chemin absolu
La racine d’un site web porte le chemin /
, c’est le chemin qui mène à la page index.html de votre site web. Pour accéder à d’autres ressources dans votre site, il vous faudra parcourir l’arborescence de votre projet pour atteindre une autre page web. C’est ce qui se passe quand une url ressemble à ceci :
https://ludovicdean.github.io/devendevenir/blog/astro/
Cela signifie qu’une fois compilé (dans le dossier /dist
de mon projet), mes articles se trouvent dans un dossier /blog
qui contient lui-même un dossier portant le nom de mon article, ici /astro
, contenant l’article généré dans un fichier index.html. On peut très bien avoir plus de 2 degrés d’imbrication de dossiers selon la complexité du projet.
C’est pour cette raison que cette partie des URLs ressemble aux chemins d’accès aux fichiers de nos ordinateurs, parce que l’on se déplace dans une arborescence de dossiers.
Bon, on a déjà bien décortiqué la structure des urls, mais souvent c’est bien plus compliqué que ça !
En effet, nous allons maintenant aborder les paramètres d’URLs.
Les paramètres d’URLs
Si vous regarder la barre d’adresse de votre navigateur de temps à autre, vous avez remarqué que parfois les URLs comportent des suites de caractères incompréhensibles, voyez plutôt :
https://www.linkedin.com/feed/?highlightedUpdateType=COMMENTS_BY_YOUR_NETWORK&highlightedUpdateUrn=urn%3Ali%3Aactivity%3A7351698903479582720
Normalement, jusqu’au dernier /
vous devriez arriver à suivre. Pour le reste, suivez-moi !
Le ?
permet de séparer les paramètres d’une URL du reste. Tout ce qui se trouve derrière ce point d’interrogation a la structure suivante : clé=valeur.
Dans notre cas, l’API de Linkedin a visiblement besoin de plusieurs paramètres pour me renvoyer la page demandée :
highlightedUpdateType
qui fournit le type de contenu mis en avant =>COMMENTS_BY_YOUR_NETWORK
(commentaires de notre réseau)highlightedUpdateUrn
qui fournit l’identifiant du post concernéurn%3Ali%3Aactivity%3A7351698903479582720
Les caractères %
que l’on voit dans les URLs signalent généralement des caractères encodés. En supprimant l’encodage, on arrive à ceci : urn:li:activity:7351698903479582720
.
Conclusion
Vous avez parcouru les entrailles des URLs en long, en large et en travers (oui, expression datée j’en conviens, mais c’est ma marque de fabrique 😅) et vous comprenez mieux leur structure. Prochaine étape, créer ces URLs. Que ce soit dans une API, dans un site web ou qu’en sais-je, les URLs sont partout, et vous en utiliserez probablement quotidiennement dans votre travail.
Cet article vous a plu ? Contactez-moi sur LinkedIn 😉 !