Comprendre les URL


URL signifie Uniform Resource Locator. Il s’agit d’une adresse donnée, unique sur le Web.

Anatomie d’une URL

Voici quelques exemples d’URL :

http://exemple.com
http://www.exemple.com
https://www.exemple.com
http://www.exemple.com/fr
http://www.exemple.com/paris/1

Si on considère l’URL suivante :

http://www.exemple.com:80/repertoire1/repertoire2/fichier1.html?key1=value1&key2=value2#etape3
  • http:// correspond au protocole. Les deux protocoles les plus courants sont HTTP ou sa version sécurisée HTTPS. D’autres protocoles existent, comme MAILTO (ouverture d’un client de messagerie pour envoyer un mail) ou FTP (transfert de fichiers).
  • www.exemple.com correspond au nom de domaine. Il permet de localiser le serveur web qui héberge le contenu. Il est possible d’utiliser une adresse IP à la place.
  • :80correspond au port utilisé sur le serveur web. Il n’est pas utile de les préciser si on utilise les ports standards : 80 pour le protocole HTTP ou 443 pour HTTPS par exemple.
  • /repertoire1/repertoire2/fichier1.html correspond au chemin vers le fichier fichier1.html sur le serveur web. Ce chemin peut être un chemin “physique” (arborescence existante), ou une “abstraction” qui est gérée par le serveur.
  • ?key1=value1&key2=value2 sont des paramètres fournis au serveur Web. Il s’agit ici d’une série de paires de type clé/valeur. Le serveur peut utiliser ces paramètres pour effectuer des actions supplémentaires et adapter ainsi la ressources à renvoyer. Il existe des règles différentes concernant les paramètres et leur format, dépandant du serveur utilisé et de sa configuration.
  • #etape3 correspond à une ancre, située dans le document. Les ancres permettent au navigateur d’afficher directement l’endroit référencé sur le document demandé, afin de faciliter la navigation.

Les URL absolues et les URL relatives

Les fragments nécessaires pour construire une URL dépendent du contexte dans lequel l’URL est utilisée. Lorsqu’une URL est utilisée dans une ressource, le navigateur connait déjà l’URL du document courant et pourra s’en servir pour déduire une partie des informations et compléter les URL partielles contenues dans le document.

Si une URL commence par /, le navigateur ira chercher la ressource à la racine du serveur sans utiliser le contexte du document courant.

URL absolue

URL complète

https://www.exemple.com/repertoire1/fichier1.html

Protocole implicite

//www.exemple.com/repertoire1/fichier1.html

Le navigateur utilisera le même protocole que celui utilisé pour charger le document qui contient l’URL.

Nom de domaine implicite

/repertoire1/fichier1.html

Le navigateur utilisera le même protocole et le même nom de domaine que ceux utilisés pour charger le document qui contient l’URL.

URL relative

En supposant que le navigateur affiche actuellement le document suivant :

https://www.exemple.com/repertoire1/fichier1.html

Sous-ressources

`Repertoire2/Test/Numero1`

L’URL ne commençant pas par /, le navigateur cherchera dans un sous-répertoire de la ressource actuelle. Dans cet exemple :

https://www.exemple.com/repertoire1/Repertoire2/Test/Numero1

Remonter dans l’arborescence

../images/image1.jpg

Ici, on utilise la convention UNIX ../ qui indique au navigateur de remonter d’un répertoire dans l’arborescence. L’URL absolue correspondante serai :

https://www.exemple.com/

Ressources

Des informations supplémentaires et détaillées sont disponibles ici pour aller plus loin.

URL