URLs et domaines
Une adresse postale pour le Web
Une URL (Uniform Resource Locator) est l'adresse d'une ressource sur le Web. Comme une adresse postale, elle indique précisément où trouver quelque chose et comment y accéder.
Analogie : Une URL, c'est comme une adresse postale complète : le pays (protocole), la ville (domaine), la rue et le numéro (chemin), et parfois des précisions supplémentaires (paramètres).
Anatomie d'une URL
Prenons cette URL réelle et décortiquons-la :
https://blog.monminilab.fr/articles/web?page=2&tri=date#section-dns
└──┬──┘ └────────┬────────┘ └────────┬──────┘ └────────┬────────┘ └────┬────┘
protocole domaine chemin paramètres fragment
Le protocole
Le protocole indique comment communiquer avec le serveur.
Sur le Web, c'est presque toujours https (ou http pour les connexions non chiffrées).
https://— Web sécurisé (chiffré avec TLS). À utiliser toujours.http://— Web non chiffré. Évité aujourd'hui, les navigateurs affichent un avertissement.ftp://— Transfert de fichiers. Rare dans les navigateurs modernes.mailto:— Ouvre le client mail. Pas une URL web à proprement parler.
Le domaine
Le domaine identifie le serveur (ou l'organisation) à contacter. Il est lui-même structuré en plusieurs parties, lues de droite à gauche :
// Décomposition du domaine
blog . monminilab . fr
│ │ │
sous-domaine domaine TLD
(optionnel) (de 2e niveau) (Top Level Domain)
- TLD (extension) :
.fr,.com,.org,.io… Géré par des organismes officiels (ICANN). Indique souvent le pays ou le type d'entité. - Domaine de 2e niveau : le nom que tu achètes chez un registrar (OVH, Namecheap…).
- Sous-domaine : géré par le propriétaire du domaine. Gratuit, illimité.
blog.,api.,app.sont courants.
www n'est qu'un sous-domaine comme un autre. Il est historique
(World Wide Web) mais n'a rien de spécial techniquement. La plupart des sites
modernes fonctionnent avec ou sans www.
Le chemin (path)
Le chemin indique quelle ressource tu veux sur ce serveur. Il ressemble à l'arborescence de dossiers sur ton ordinateur.
/— la racine, la page d'accueil/articles/— un "dossier" articles/articles/web/— la ressource "web" dans "articles"/api/users/42— une API qui retourne l'utilisateur n°42
Attention : le chemin ne correspond pas forcément à une vraie arborescence de fichiers sur le serveur. Un framework peut générer ces chemins dynamiquement.
Les paramètres de requête (query string)
Après le ?, on trouve les paramètres. Ils transmettent des informations
supplémentaires au serveur sous la forme clé=valeur. Plusieurs paramètres sont séparés par &.
// Exemples de paramètres
/recherche?q=javascript ← terme de recherche
/produits?categorie=chaussures&prix=50 ← filtre + prix max
/articles?page=3&tri=date&ordre=desc ← pagination + tri
Les paramètres dans l'URL sont visibles (dans l'historique du navigateur, les logs serveur, etc.). Ne jamais y mettre de mots de passe ou données sensibles. Pour ça, on utilise le corps de la requête HTTP (méthode POST — leçon 04).
Le fragment (#)
Le fragment (après #) pointe vers une section spécifique de la page.
Il n'est jamais envoyé au serveur — c'est le navigateur qui l'utilise en local
pour faire défiler jusqu'au bon endroit.
https://monminilab.fr/modules/web/#section-dns
← Le serveur reçoit uniquement "/modules/web/"
← Le navigateur fait défiler jusqu'à l'élément id="section-dns"
- URL = protocole + domaine + chemin + paramètres (optionnel) + fragment (optionnel).
- Le domaine se lit de droite à gauche : TLD → domaine → sous-domaine.
wwwn'est qu'un sous-domaine historique — pas obligatoire.- Les paramètres (
?clé=valeur) transmettent des infos au serveur — ne pas y mettre de données sensibles. - Le fragment (
#ancre) n'est jamais envoyé au serveur, utilisé uniquement par le navigateur.