Uniform Resource Locator - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Le sigle URL (de l'anglais Uniform Resource Locator, littéralement « localisateur uniforme de ressource »), auquel se substitue informellement le terme adresse web, désigne une chaîne de caractères utilisée pour adresser les ressources du World Wide Web : document HTML, image, son, forum Usenet, boîte aux lettres électronique, etc. Les URLs constituent un sous-ensemble des identifiants uniformisés de ressource (URI), les seules URI à avoir trouvé une application pratique. Le format (syntaxe) d'une URL est décrit dans le RFC 3986.

En 2008, l'usage du féminin ou du masculin pour l'abréviation « URL » (un ou une URL ?) semble assez flottant. En France, d'après le Journal officiel du 16 mars 1999, « URL » peut être traduit par adresse réticulaire ou adresse universelle.

Adresse web

Comme les adresses URL ont été conçues pour le web et qu'elles sont utilisées pour identifier les pages et les sites web, elles sont aussi appelées adresses web. L'article sur les adresses web porte sur l'identité des sites web et les aspects techniques, économiques et juridiques qui s'y rattachent, ainsi que des différentes traductions en français de l'acronyme URL.

Cet article décrit les URL en tant que standard technique : toutes les formes qu'elles peuvent prendre, notamment pour pointer des ressources hors du Web, ainsi que les principaux usages techniques.

Fonctionnement

Une URL est une chaîne de caractères combinant les informations nécessaires pour indiquer à un logiciel comment accéder à une ressource Internet. Ces informations peuvent notamment comprendre le protocole de communication, un nom d'utilisateur, un mot de passe, une adresse IP ou un nom de domaine, un numéro de port TCP/IP, un chemin d'accès, une requête.

Les informations nécessaires varient selon la ressource et le contexte d'utilisation de l'URL. En outre un identificateur de fragment peut être ajouté à la fin d'une URL pour identifier un élément à l'intérieur de la ressource. Bien que l'identificateur de fragment ne fasse pas formellement partie de l'URL, il est également décrit dans cet article et dans les standards techniques.

URL absolue

Une URL absolue permet d'indiquer comment accéder à une ressource indépendamment de tout contexte où elle peut être précisée ou transmise. Elle commence par l'indication d'un schéma de représentation (spécifique au protocole de communication utilisé pour accéder à cette ressource), suivi de l'ensemble des paramètres permettant de localiser sur le réseau le service hébergeant la ressource, puis permet de préciser à ce service le nom d'une ressource à traiter, transmettre des données de traitement, acheminer et récupérer les résultats, puis de préciser éventuellement quelle partie de ce résultat sera utilisée.

Exemple : http://Jojo:[email protected]:8888/chemin/d/acc%C3%A8s.php?q=req&q2=req2#signet

  • Schéma de représentation, normalement obligatoire (mais certains clients web peuvent tenter de déterminer le schéma à partir de la forme du nom du service codé ci-dessous)
    • http - protocole de communication, en l’occurrence ici HTTP pour accéder à un serveur web.
    • : - caractère de séparation obligatoire si le schéma est précisé.
  • Localisation complète de la ressource, représentée selon le schéma de représentation ci-dessus
    • Emplacement du service hébergeant la ressource sur l’espace du réseau global
      • // - chaîne de caractères pour les protocoles dont la requête comprend un chemin d'accès, permettant de préciser et localiser le service avant ce chemin.
      • Données d’authentification (optionnelles, le service peut les demander séparément de façon plus sécurisée que via l’URL)
        • Jojo - nom d’utilisateur, notamment utile pour accéder à des parties non publiques d'un site web
        • : - caractère de séparation si un mot de passe est indiqué.
        • lApIn - mot de passe de l'utilisateur, indiqué ici en clair.
        • @ - caractère terminant les données d'identification présentes avant le nom du service.
      • www.example.com - nom de domaine du service, on peut parfois utiliser plutôt son adresse IP. Si le nom de service ou l’adresse peuvent contenir des caractères réservés comme :, le nom de service ou l'adresse sera encadré de crochets doubles [[ ]]. Lui même se décompose en:
      • Indication optionnelle d’un numéro de port (au cas où le même serveur possède des services n’utilisant pas le port par défaut pour le protocole de communication)
        • : - caractère indiquant qu’un numéro de port est précisé en suffixe
        • 8888 - numéro de port TCP/IP du serveur HTTP, doit être précisé lorsqu’il ne s’agit pas du port standard pour le protocole utilisé (qui est 80 pour HTTP, 21 pour FTP, …).
        • [1234:abcd::1234]:8888 - Dans le cas d'une adresse IPv6, si on veut spécifier le port, il est obligatoire de mettre l'adresse entre crochets pour ne pas confondre le port et l'adresse.
    • Nom complet de la ressource à demander sur le service une fois connecté
      • /chemin/d/ - chemin absolu (commençant par un /) sur le service contenant la page web, obligatoire pour les services à chemin d’accès (par défaut ce chemin sera /).
      • acc%C3%A8s.php - nom de la page web, optionnel (de nombreux services web déterminent un nom de ressource par défaut pour chaque chemin indiqué) ; on remarque qu’un caractère non ASCII comme « è » est codé en « %C3%A8 » (au moyen d’un codage de caractère Unicode sous la forme UTF-8 avant transformation des octets non ASCII en notation hexadécimale à deux chiffres par octet). L'extension n'a aucune signification directe pour le client, mais en revêt parfois pour le serveur qui l’utilise localement pour savoir comment traiter la ressource demandée et la présenter au client.
    • Données supplémentaires optionnelles, transmises au service lors de la demande à la ressource
      • ? - caractère de séparation obligatoire pour indiquer que des données complémentaires suivent.
      • q=req&q2=req2 - chaîne de requête, traitée par la page web sur le serveur
  • Données supplémentaires optionnelles, pour l’exploitation de la ressource après son obtention par le logiciel client (non transmises dans la requête au service)
    • # - caractère de séparation obligatoire pour indiquer un signet (ou une balise).
    • signet - identificateur du signet ou de la balise, il s’agit d’un emplacement à l’intérieur de la page web retournée par le service, cette donnée sera traitée par le navigateur web.

Quelques exemples pratiques :

  • URL de Wikipédia :
    http://fr.wikipedia.org/
  • URL de cette page sur Wikipédia :
    http://fr.wikipedia.org/wiki/Uniform_Resource_Locator
  • URL d'un fichier sur un site FTP :
    ftp://ftp.rfc-editor.org/in-notes/rfc2396.txt
  • URL d'un lien (mailto) vers une adresse courriel :
    mailto:[email protected]
  • URL d'un forum de discussion de Usenet :
    news:fr.comp.infosystemes.www.auteurs
  • URL d'un site Gopher :
    gopher://gopher.quux.org/
  • Une URL en chinois devrait avoir la forme suivante :
    protocole://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志

URL relative

Les protocoles utilisant un chemin hiérarchique permettent l'utilisation d'URL relatives. Une URL relative ne contient ni protocole ni nom de domaine. Ceux-ci sont déduits à partir de l'URL de la ressource contenant l'URL relative.

Les URL relatives sont souvent utilisées pour les hyperliens à l'intérieur d'un même site web. Si le document d'URL http://fr.wikipedia.org/wiki/Web contient l'URL relative Navigateur, cela correspond à http://fr.wikipedia.org/wiki/Navigateur. Les URL relatives sont directement inspirées de la syntaxe des systèmes de fichiers Unix. L'usage d'URL relatives permet de copier l'ensemble d'un site web sur un autre serveur web sans avoir à changer les URL.

L'URL :

  • ./ correspond au dossier actuel ;
  • ../ correspond au dossier parent ;
  • / correspond au dossier racine.

Utilisateur et Mot de passe

Syntaxe :

scheme://[username[:password]@](hostname|ip)[:port][/path/][?query][#fragment]

Exemple :

Page générée en 0.120 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise