La plupart du temps, vous pouvez dire "J'ai acheté un domaine" ou "Nos images sont hébergées sur un autre site", même si ce n'est pas strictement vrai. Toutefois, dans certains contextes, il est nécessaire d'être plus précis. Par exemple, en ce qui concerne les cookies, vous devez comprendre la différence entre site et origin.
Les noms des parties d'URL sont spécifiés dans une norme, qui définit également une API JavaScript:
- La norme d'URL définit les URL et les concepts associés pour permettre aux ingénieurs de créer des navigateurs Web interopérables.
- Le composant API d'URL de la norme définit les méthodes permettant d'accéder à certaines parties d'une chaîne d'URL, telles que le schéma ou l'origine.
Ce document décrit une série de termes utilisés dans les chaînes d'URL HTTP ou HTTPS. Il ne couvre pas d'autres types d'URL tels que les URL de fichiers ou de données. Pour des termes tels que host
et origin
, les définitions précises sont intrinsèquement complexes. Ce document fournit des exemples et des liens vers la norme d'URL, plutôt que de tenter des explications complètes.
Vous pouvez utiliser JavaScript pour obtenir les noms des composants d'URL définis par l'API d'URL. Exemple :
let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);
Analyseur d'URL
Modifiez l'URL ci-dessous pour voir comment certaines parties de la chaîne d'URL sont nommées. Vous pouvez également l'ouvrir dans un onglet distinct à l'adresse url-parts.glitch.me.
Les noms des éléments d'URL sont répertoriés ci-dessous par ordre alphabétique.
Domaine de premier niveau national (ccTLD)
Un domaine de premier niveau défini dans la liste des codes pays ISO 3166-1.
Nom de domaine
Parties d'une URL HTTP ou HTTPS séparées par des points: tout ce qui se trouve après le schéma, mais avant le chemin ou le port (si spécifié). Chaque partie du nom de domaine est appelée libellé.
URL | Nom de domaine |
---|---|
https://example.github.io/path | example.github.io |
https://support.example.org.au:443 | support.example.org.au |
Domaine de premier niveau effectif (eTLD)
Une entrée de la liste des suffixes publics, y compris un TLD et(pour les eTLD comportant plusieurs parties) des domaines supplémentaires en dessous : de deuxième niveau, de troisième niveau, etc.
- Exemples:
com
,com.au
,github.io
,sa.edu.au
,schools.nsw.edu.au
.
Un "suffixe public", comme dans ces exemples, est un nom sous lequel des domaines peuvent être enregistrés. La liste des suffixes publics est une liste de tous les suffixes publics connus et est fréquemment mise à jour. Les navigateurs tels que Chromium et Firefox utilisent cette liste dans leurs builds.
eTLD+1
Consultez la section Domaine enregistrable.
Un eTLD suivi du sous-domaine qui le précède
- Exemples:
example.com
,example.org.au
,example.github.io
,example.sa.edu.au
,example.schools.nsw.edu.au
.
Nom de fichier
Elle n'est pas définie dans la norme d'URL et ne fait pas partie de l'API d'URL, mais elle est couramment utilisée pour faire référence à la partie finale de l'URL, sans chemin d'accès, sur la base de l'hypothèse (souvent incorrecte) que l'URL est directement mappée à une structure de répertoire.
Par exemple, avec https://example.com/dir/file.html
, file.html
peut être désigné comme nom de fichier.
Le nom du fichier est également utilisé par les navigateurs pour nommer un élément s'il est téléchargé.
Par exemple, https://example.com/images/image.jpg
est généralement enregistré localement dans image.jpg
.
Fragment
Chaîne qui suit un caractère # à la fin d'une URL qui fournit un identifiant de fragment.
- Par exemple, l'URL
https://example.com/cats#tabby
a la valeur d'identifiant de fragmenttabby
.
La partie qui inclut #
est appelée hachage ou ancre.
Vous pouvez également créer un lien vers un fragment de texte et le mettre en surbrillance.
Le hachage est renvoyé par l'API URL plutôt que par le fragment.
Nom de domaine complet
Adresse complète d'un site Web ou d'un serveur, mappée à une adresse IP.
URL | FQDN |
---|---|
https://example.com:1234/cats | example.com |
https://api.example.github.io | api.example.github.io |
Le nom de domaine complet d'une URL n'inclut pas le port, même si un port autre que celui par défaut est utilisé.
Hachage (ou ancre)
Chaîne qui suit un caractère # à la fin d'une URL qui fournit un identifiant de fragment. Dans certains contextes, on parle d'"ancre".
La partie qui exclut #
est appelée fragment.
Vous pouvez également créer un lien vers un fragment de texte et le mettre en surbrillance.
Le hachage est renvoyé par l'API URL plutôt que par le fragment.
Hôte
Comme défini dans la norme d'URL, un hôte peut être un nom de domaine, une adresse IP v4, une adresse IPv6, un hôte opaque ou un hôte vide.
- La définition de
host
de la norme d'URL n'inclut pas le port. URL.host
inclut le port, sauf s'il s'agit du port par défaut du schéma.URL.hostname
n'inclut pas le port.
URL | URL.host |
---|---|
https://www.example.com:443/cat |
www.example.com // 443 is the default port for the scheme
|
https://www.example.com:1234/cat | www.example.com:1234 |
https://cat.example.github.io | cat.example.github.io |
Nom d'hôte
Le nom d'hôte est défini par l'API JavaScript URL
, mais pas ailleurs par la norme d'URL. Pour en savoir plus, consultez la section Représentation de l'hôte.
URL.hostname
renvoie l'hôte sans le port.
URL | URL.hostname |
---|---|
https://www.example.com:443/cat | www.example.com |
https://www.example.com:1234/cat | www.example.com |
https://cat.example.github.io | cat.example.github.io |
Origine
La norme d'URL définit origin
et renvoie à la norme HTML pour référence.
Pour les URL HTTP ou HTTPS, URL.origin
renvoie le schéma, l'hôte et le port (sauf si le port est le port par défaut du schéma).
URL | URL.origin |
---|---|
https://www.example.com:443/cat | https://www.example.com |
https://www.example.com:1234/cat | https://www.example.com:1234 |
https://cat.example.github.io | https://cat.example.github.io |
Paramètres
Voir la section Paramètres de recherche
Mot de passe
Voir nom d'utilisateur.
Nom du chemin
Pour une URL HTTP ou HTTPS, la partie située après le domaine et le port (s'ils sont définis), y compris un nom de fichier (s'il est défini), mais sans inclure la chaîne de recherche ni le hachage.
URL | URL.pathname |
---|---|
https://example.com | [empty string] |
https://example.com:8000/search?q=tabby | /search |
https://example.github.io/cat/pattern#tabby | /cat/pattern |
https://example.github.io/README.md | /README.md |
"Path" est parfois utilisé pour faire référence au chemin sans le nom de fichier. Par exemple, pour l'URL https://example.com/cat/pattern/tabby.html
, le "chemin d'accès" est /cat/pattern
.
Port
Numéro après :
dans une URL qui identifie un port réseau. Par exemple, pour l'URL https://example.com:1234/tabby
, le numéro de port est 1234.
Le numéro de port doit être un entier non signé de 16 bits, c'est-à-dire un entier compris entre 0 et 65 535 inclus.
Pour une URL HTTP, le port par défaut est 80 ; pour HTTPS, le port par défaut est 443. Une URL n'a pas besoin de spécifier le numéro de port, sauf si un port autre que celui par défaut est utilisé.
L'API renvoie une chaîne vide si le port est le port par défaut du schéma.
URL | URL.port |
---|---|
https://example.com | // empty string |
https://example.com:443/foo | // empty string: port is default for scheme |
https://www.example.com:1234/foo | 1234 |
Protocole
Schéma suivi de :
(par exemple, http:
ou https:
)
protocol
est disponible depuis l'API d'URL, mais pas scheme
.
Requête (ou "chaîne de requête")
Partie search de l'URL, à l'exception du ?
de début.
Domaine enregistrable
- Pour une URL avec un eTLD en une seule partie tel que
com
ouorg
(c'est-à-dire un eTLD correspondant à un TLD), le domaine et le domaine de deuxième niveau qui le précède (par exemple,example.com
ouexample.org
). - Pour une URL avec un eTLD en deux parties où seul l'enregistrement de troisième niveau est autorisé (c'est-à-dire, les entrées de la liste des suffixes publics telles que
com.au
etgithub.io
), le domaine de premier niveau en deux parties ("suffixe public") et le nom de domaine de troisième niveau juste avant cela est autorisé. Par exemple :example.org.au
ouexample.github.io
. - Pour les eTLD comportant trois parties ou plus, l'eTLD et le domaine précédant cela.
Scheme
Partie de l'URL (avant ://
) qui définit le protocole réseau (ou l'action à effectuer par le user-agent) lorsqu'une requête est envoyée à une URL. Par exemple, une requête vers une URL avec un schéma https
doit être effectuée à l'aide du protocole HTTPS. Pour une requête adressée à une URL avec un schéma tel que file
, mailto
ou git
qui ne correspond pas à un protocole réseau, le comportement dépend du user-agent. Par exemple, lorsqu'un utilisateur clique sur un lien mailto
, la plupart des navigateurs ouvrent leur application de messagerie par défaut à l'aide des valeurs de l'URL href
du lien.
Rechercher
Un point d'interrogation suivi d'une série de paires clé/valeur représentant les paramètres et leurs valeurs, fournies après le chemin d'accès.
URL | URL.search |
---|---|
https://example.com/cats?pattern=tabby&mood=bonkers | ?pattern=tabby&mood=bonkers |
https://example.com/cats:443?pattern=tabby | ?pattern=tabby |
Le query
ou "chaîne de requête" fait référence au search
sans le ?
de début.
Consultez également la page Paramètres de recherche.
Paramètres de recherche
Faites référence à un élément de données transmis dans une chaîne de recherche (ou "chaîne de requête").
- Par exemple, pour
https://example.com/cats?pattern=tabby&mood=bonkers
, la chaîne de recherche comporte deux paramètres :pattern=tabby
etmood=bonkers
.
Domaine de deuxième niveau
Domaine avant un domaine de premier niveau.
Pour l'URL
https://www.example.com
, le domaine de deuxième niveau estexample.com
, qui est un sous-domaine du domaine de premier niveaucom
.Pour
https://example.org.au
, le domaine de premier niveau estau
, le domaine de deuxième niveau estorg
et le domaine de troisième niveau estexample
. Dans cet exemple,org.au
est un sous-domaine deau
etexample.org.au
est un sous-domaine deorg.au
.
Site
Site est défini par la norme HTML, avec same-site, qui inclut un schéma et schemeless-site.
Le site n'est pas défini dans la norme d'URL ni dans l'API d'URL JavaScript.
Dans ce contexte:
- Pour une URL HTTP ou HTTPS avec un eTLD à partie unique tel que
https://example.com
, le site comprendscheme
, l'eTLD et le libellé avant cela. Par exemple, pour l'URLhttps://www.example.com/cat
, le site esthttps://example.com
. Pour cette URL, l'eTLD est identique au domaine de premier niveau. - Pour les domaines eTLD en plusieurs parties tels que
co.uk
,github.io
ousa.edu.au
, le "site" est constitué descheme
, de l'eTLD et du libellé qui précède. Par exemple, pour l'URLhttps://cat.example.co.uk/tabby
, le site esthttps://example.co.uk
, et pourhttps://www.education.sa.gov.au
, il s'agit dehttps://education.sa.gov.au
.
URL | Site (avec schéma et eTLD +1) |
---|---|
https://cat.example.com/tabby | ("https", "example.com") |
https://cat.example.co.uk/tabby | ("https", "example.co.uk") |
Contrairement au champ origin, le site n'inclut pas de port.
Sous-domaine
Il s'agit d'un domaine au sein d'un domaine de niveau supérieur.
Pour les sites comportant des domaines de premier niveau en une seule partie, tels que com
ou org
, les parties situées avant le domaine de premier niveau, chacune étant séparée par un point.
www.example.com
est un sous-domaine deexample.com
.support.api.example.org
est un sous-domaine deapi.example.org
, qui est un sous-domaine deexample.org
.
Pour les eTLD en deux parties où seuls les enregistrements de troisième niveau sont autorisés(c'est-à-dire les entrées de la liste des suffixes publics telles que co.uk
et github.io
), les sous-domaines sont les parties du nom de domaine avant cela.
- Par exemple,
cat.example.co.uk
est un sous-domaine deexample.co.uk
.
Fragment de texte
Type de fragment qui permet de créer un lien vers une plage de texte sur une page et de la mettre en surbrillance. Lorsqu'un utilisateur suit un lien comportant un fragment de texte, le navigateur tente de localiser le texte sur la page, de le faire défiler et de le mettre en surbrillance.
Un fragment de texte commence par :~:text=
, suivi du terme de recherche.
Par exemple, pour créer un lien vers la première occurrence du texte "fragment" sur cette page, utilisez l'URL https://web.dev/articles/url-parts#:~:text=fragment
.
Pour en savoir plus, consultez Fragments de texte.
Domaine de premier niveau
Un nom de domaine répertorié dans la base de données de la zone racine, tel que com
ou org
. Certains domaines de premier niveau sont des domaines de premier niveau avec code pays, tels que uk
et tv
.
Lorsque vous décrivez les parties d'une URL HTTP ou HTTPS, le TLD est le nom de domaine qui suit le point final.
- Pour
https://example.org
, le domaine de premier niveau de l'URL estorg
. - Pour
https://example.org.au
, le domaine de premier niveau de l'URL estau
, etorg
est un domaine de deuxième niveau (même siorg
est également un domaine de premier niveau).org.au
est un eTLD en deux parties.
La liste des suffixes publics des eTLD inclut les domaines comportant une, deux ou plusieurs parties. Un TLD peut donc également être un eTLD. Exemple :
- Pour
https://example.com
, l'eTLD de l'URL estcom
, qui est également un domaine de premier niveau.
Nom d'utilisateur
Un nom d'utilisateur et un mot de passe facultatifs peuvent être fournis au début de l'URL, mais ils sont obsolètes pour des raisons de sécurité et seront ignorés dans de nombreux cas.
Par exemple, avec https://user123:password1@example.com
, le nom d'utilisateur est user123
. Notez que le nom d'utilisateur (et le mot de passe !) sont en texte brut et ne sont pas chiffrés.
Si le nom d'utilisateur contient les symboles :
ou @
, ils doivent être encodés en URL sous la forme %3A
et %40
respectivement.
En savoir plus
- whatWG: URL Living Standard
- WHATWG: HTML Living Standard
- API URL
- Comprendre les termes "same-site" et "same-origin"
- RFC: Uniform Resource Locators (URL)
- RFC: URI, URL et URN
- Root Zone Database (répertoire des domaines de premier niveau)
- Liste des suffixes publics (répertoire des eTLDs) : "Un suffixe public est un ensemble de noms DNS ou de caractères génériques concaténés avec des points. Il représente la partie d'un nom de domaine qui n'est pas sous le contrôle du titulaire individuel.")
- Glossaire de l'ICANN
- Qu'est-ce qu'un nom de domaine complet ?
- De combien de façons pouvez-vous diviser une URL et nommer les parties ?
- Glossaire des documents Web MDN
- Qu'est-ce qu'une URL ?
- Historique de l'URL