Les URLs
Cheatsheet URLs — structure, schéma, hôte, chemin, query string, fragment, et différence URI / URL / URN.
Une URL (Uniform Resource Locator) est l'adresse unique d'une ressource sur Internet. Cette fiche récapitule sa structure et le rôle de chacun de ses composants.
En bref
- URL = Uniform Resource Locator → adresse unique d'une ressource sur Internet.
- Fait partie de la famille des URI (Identificateurs Uniformes de Ressource).
- Sert à localiser et accéder à une ressource (page web, image, fichier, API…).
- Composée de plusieurs éléments standardisés (protocole, domaine, chemin…).
URI, URL, URN
| Terme | Rôle | Exemple |
|---|---|---|
| URI | Terme générique : identifie une ressource (peut être un URL ou un URN) | — |
| URL | Type d'URI : indique où et comment accéder à une ressource | https://example.com/page.html |
| URN | Type d'URI : donne un nom unique et persistant, sans dire où la trouver | urn:isbn:0451450523 |
À savoir
Tous les URL sont des URI, mais tous les URI ne sont pas des URL. Exemple complet :
https://fr.wikipedia.org/wiki/Linux#distributions
Anatomie d'une URL
schéma://utilisateur:motdepasse@hôte:port/chemin?clé=valeur#fragment| Composant | Rôle |
|---|---|
| Schéma / Protocole | Méthode d'accès à la ressource (http, https, ftp…) |
| Identifiants | Infos de connexion éventuelles (user:pass@) |
| Hôte | Serveur qui héberge la ressource (domaine ou adresse IP) |
| Port | Porte d'accès au service (par défaut : 80 pour HTTP, 443 pour HTTPS) |
| Chemin (path) | Emplacement exact de la ressource sur le serveur |
Query (?) | Données supplémentaires sous forme clé=valeur |
Fragment (#) | Pointeur vers une partie spécifique de la ressource |
Le schéma (protocole)
Définit comment communiquer avec la ressource. Placé au début de l'URL, suivi de ://.
http / https # pages web (avec ou sans chiffrement TLS)
ftp # transfert de fichiers
ssh # connexion sécurisée à un serveur
mailto # envoi d'email
tel # appel téléphoniqueÀ savoir
Deeplinking : des protocoles personnalisés permettent d'ouvrir directement une app ou
une page interne, ex. myapp://profil/42.
L'hôte
Identifie le serveur qui héberge la ressource — souvent un nom de domaine, parfois une adresse IP. Un nom de domaine se décompose ainsi :
www.google.com
# └┬┘ └──┬─┘ └┬┘
# │ │ └── TLD (Top-Level Domain) : .com, .fr, .org…
# │ └─────── Domaine : la partie principale (google)
# └───────────── Sous-domaine (optionnel) : www., api., blog.…À savoir
La résolution DNS transforme le nom de domaine en adresse IP du serveur.
Le chemin
Placé après le domaine (et le port éventuel), il indique l'emplacement exact de la ressource. Il ressemble à une arborescence de dossiers/fichiers.
https://example.com/images/photo.png
# └──┬─┘ └───┬───┘
# dossier ressource demandéeLe chemin peut représenter :
- un fichier statique (image, PDF, CSS…) ;
- une route d'application (
/produits/42) ; - une ressource d'API (
/api/v1/users).
La query string
Placée après le ?, elle sert à transmettre des données au serveur sous forme
?clé=valeur&clé2=valeur2.
https://example.com/recherche?q=chat&lang=fr
# │ └─ langue choisie
# └──────── mot recherchéAttention
Les valeurs doivent être encodées (espaces → %20, accents → UTF-8). La plupart des langages
fournissent une méthode dédiée — PHP : urlencode(), JS : encodeURI() / encodeURIComponent().
Usages courants : recherche et filtres, suivi analytique (utm_source), pagination (?page=3).
Le fragment
Placé après le #, il ne modifie pas la ressource demandée → il agit côté client uniquement.
Il sert à pointer une partie spécifique d'une page ou d'un document.
https://example.com/article.html#section3 # ouvre directement la section 3Utilisations courantes :
- Ancres HTML (
<a id="section3">…</a>) ; - navigation dans une page longue (sommaire → section) ;
- gestion d'état côté client (SPA, etc.).
Exemples
http://example.com/index.html # page web simple (HTTP)
https://secure.site.fr/paiement?carte=xxxx#confirmation # HTTPS + query + fragment
ftp://me:supersecret@ftp.example.org/fichiers/data.csv # FTP avec identifiants
ssh://user:pass@serveur.example.com:22 # SSH (identifiants + port)
mailto:contact@entreprise.fr # ouvre le client mail
tel:+33123456789 # appel téléphonique
file:///C:/Users/Administrator/Documents/notes.txt # fichier local
data:text/plain;base64,SGVsbG8gV29ybGQ= # contenu encodé dans l'URL