Conceptuellement, une URL donne la localisation d'une ressource, sans garantir que la ressource s'y trouve, d'où le risque delien mort. Il existe un autre type de chaîne qui identifient des ressources indépendamment de leur localisation,Uniform Resource Name (URN). URL et URN sont chacune un sous-ensemble des identifiants uniformes de ressource (Uniform Resource Identifier, URI). Tous ces identifiants sont standardisés parRequest for comments (RFC), dont leRFC 3986[4].
Dans les cercles techniques, les adresses web ont été connues sous divers noms : adresse WWW,Universal Document Identifier,Universal Resource Identifiers (RFC 1630[5]), et finalement divisées enUniform Resource Locators (URL,RFC 1738[6],RFC 1808[7]) etUniform Resource Names (URN,RFC 1737[8]), le tout étant desUniform Resource Identifiers (URI,RFC 2396[9],RFC 3986[4])[10]. L'abréviation URL est utilisée dans le standardHTML 3.2[11], et elle est devenue la plus connue et utilisée par les techniciens. La situation est devenue suffisamment confuse pour que leRFC 3305[12] soit écrit pour clarifier la terminologie.
Le nom original que l'inventeur du web donne aux adresses web estUniversal Document Identifier (UDI)[13]. L'été1992, il propose à l'Internet Engineering Task Force (IETF) de standardiser ces UDI, mais la dénomination « universel » a été écartée car jugée trop « arrogante » pour un projet alors jeune comme le Web. La dénominationUniform Resource Identifier (URI) est le compromis résultant.
Lors de la standardisation des URI, il était clair qu'en pratique, les adresses web n'identifiaient pas des documents, mais des emplacements de documents. Autrement dit, si un document est déplacé, alors son adresse change. En pratique, lorsqu'une ressource est déplacée, tous les hyperliens qui y mènent sont brisés, ce qui donne l'erreur HTTP 404 sur unserveur HTTP.
Devant cet état de fait, il a été décidé que les adresses web seraient appeléesUniform Resource Locator (URL). L'idée était de standardiser deux sortes d'URI : Les URL seraient les URI qui indiquent « comment » (par quel chemin sur le réseau) accéder à une ressource, sa localisation ; les Uniform Resource Names (URN) seraient les URI qui identifient les documents eux-mêmes, indépendamment de leur localisation.
Tim Berners-Lee ne cessait cependant pas d'insister pour que, au moins en théorie, les adresses web soient conçues pour être universelles. Il trouvait aussi que l'IETF perdait son temps en discussions, aussi en il publie leRFC 1630[5],Universal Resource Identifiers in WWW. Ce premierrequest for comments sur les adresses web est de la catégorie informative. Il décrit simplement la pratique de l'époque, et contient quelques erreurs.
L'Office québécois de la langue française propose[15], « adresse URL », « URL », « adresse web » et « adresse W3 ». Il fait remarquer que « adresse web » ne s'utilise généralement que pour les ressources dessites web, alors que l'abréviation URL met l'accent sur l'universalité de ces adresses, qui peuvent identifier des forumsUsenet, des sitesFTP, etc. Le grand public confond aussi souvent adresse web,adresse électronique etadresse IP.
Pour éviter toutes ces ambiguïtés, les professionnels du web utilisent souvent l'abréviation « URL », bien qu'ils fassent en fait référence aux URI[16].
Lorsqu'on navigue sur leWeb, lenavigateur web affiche l'URL de la ressource consultée dans labarre d'adresse. Si l'on veut consulter une ressource dont on connaît l'URL, on peut directement la taper dans cette barre.
Dans les premières années du Web, les navigateurs web n'acceptaient que des adresses techniquement valides pour identifier les ressources. Mais à la suite du développement du Web, leprotocole de communicationHTTP s'est imposé pour transmettre l'immense majorité des ressources consultées. Ainsi jusque dans les années 2010 les URL depage web commençaient presque toujours parhttp://, puishttps:// dans les années suivantes. Les navigateurs web ont donc évolué pour permettre l'omission de ces caractères lors d'une saisie dans leur barre d'adresse.
Plus récemment, certains navigateurs commeGoogle Chrome n'affichent plus l'URL complète dans la barre d'adresse. Le protocole ou le préfixe « www » peuvent être masqués[17],[18].
Les navigateurs web conservent un historique des URL consultées. Cela leur permet de reconnaître et présenter de manière distinctive les hyperliens vers des ressources déjà consultées.
Il suffit à un navigateur web de conserver l'URL d'une ressource pour constituer une liste de favoris (oumarque-pages). Lorsqu'un titre de ressource existe, les navigateurs le conservent aussi, ce qui permet d'afficher le titre d'une page plutôt que son URL.
En HTML, le langage conçu pour écrire les pages web, on trouve de nombreuses URL. Chaque hyperlien est techniquement constitué d'une URL, invisible mais utilisée par le navigateur, et du texte (parfois d'une image) constituant la partie visible de l'hyperlien. Les URL sont aussi utilisées pour indiquer au navigateur la localisation de chaque ressource annexe incluse dans la page : images, vidéos, programmes informatiques, etc.
Des adresses web sont souvent données dans la publicité, ou indiquées sur les produits. Les adresses faciles à retenir sont alors recherchées. Ces adresses sont destinées à être saisies dans la barre d'adresse d'un navigateur, donc lehttp:// du protocole peut être omis. L'adresse web se résume alors à un simplenom de domaine, commewww.example.com. Ce nom est apparu tellement important dans la communication de certainesentreprises, que durant labulle Internet, elles ont utilisé l'adresse de leur site web en tant que nom commercial (Amazon.com, etc.).
D'autre part, une activité économique spécialisée s'est constituée pour acheter les noms de domaine reposant sur des mots courants, susceptibles d'être fréquemment recherchés par des Internautes. En règle générale, les domaines terminant par.com ont une valeur plus élevée que ceux terminant par des extensions nationales, en.fr par exemple. Dans d'autres cas, les noms de domaine composés de mots appartenant à certains champs lexicaux spécifiques voient leur valeur décuplée par une association avec des extensions particulières. En effet, à titre d'exemple,.io est largement associée à l'univers des nouvelles technologies. Afin de donner un ordre de grandeur, en octobre 2022, le prix du nom de domainesex.online dépassait le million d'euros.
Légalement plus trouble, letyposquatting consiste à acheter sans autorisation des domaines dont le nom s'apparente à des marques connues appartenant à des tiers, parfois en remplaçant un caractère par un caractère visuellement très similaire d'un autre alphabet.
Lecybersquattage consiste à acheter un nom de domaine portant un nom appartenant à une tierce partie, pour le lui revendre chèrement. C'est illégal dans de nombreux pays.
L'escroquerie appeléehameçonnage consiste à envoyer à une victime une URL qui ressemble à celle d'un site web légitime, comme celui de sa banque, alors qu'en fait il s'agit de l'URL d'un site conçu pour extorquer des informations confidentielles, comme les codes d'accès au compte bancaire.
Bien qu'un protocole (HTTP) et unformat de données (HTML) aient été développés spécifiquement pour le Web, le web est conçu pour imposer un minimum de contraintes techniques[19]. En particulier, d'autres formats et protocoles que HTML et HTTP peuvent être utilisés. Cependant, pour qu'une ressource puisse faire partie du Web, elle doit être exprimable sous la forme d'une adresse web. C'est en ce sens que les adresses sont l'invention la plus fondamentale.
Les informations nécessaires varient selon la ressource et le contexte d'utilisation de l'URL. En outre unidentificateur 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.
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:lApIn@www.example.com:8888/chemin/d/acc%C3%A8s.php?q=req&q2=req2#signet
Protocole, normalement obligatoire (mais certains clients web peuvent tenter de déterminer le protocole à partir de la forme du nom du service codé ci-dessous) :
: : caractère de séparation obligatoire si le protocole est précisé.
Localisation complète de la ressource, représentée selon le protocole 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 lesprotocoles 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). Le nom, le mot de passe et le numéro de port sont rarement utilisés. En plus les attaques d'hameçonnage peuvent tirer parti de cette syntaxe pour masquer un nom de domaine illégitime sous l'apparence d'un nom légitime. Les navigateurs ont retiré le support des données d’authentification :
Jojo : nom d’utilisateur, notamment utile pour accéder à des parties non publiques d'unsite 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.exemple.com :nom de domaine du service ; on peut parfois utiliser plutôt sonadresse 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,
[2001:db8::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 lapage 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 nombreuxservices web déterminent un nom de ressource par défaut pour chaque chemin indiqué). On remarque qu’un caractère nonASCII comme « è » est codé en « %C3%A8 »[20]. 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 leserveur.
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 unsignet ou unebalise,
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 lenavigateur web.
Les protocoles utilisant un chemin hiérarchique permettent l'utilisation d'URL relatives. Une URL relative ne contient pas de protocole, généralement pas de nom de domaine, et souvent un chemin incomplet. Ceux-ci sont déduits à partir de l'URL de la ressource contenant l'URL relative.
Les URL relatives sont souvent utilisées pour leshyperliens à l'intérieur d'un mêmesite web. Si le document d'URLhttp://fr.wikipedia.org/wiki/Web contient l'URL relativeNavigateur, cela correspond àhttp://fr.wikipedia.org/wiki/Navigateur. Les URL relatives sont directement inspirées de la syntaxe des systèmes de fichiersUnix. L'usage d'URL relatives permet de ne pas avoir à reprendre l'ensemble des liens lors du changement d'adresse d'un site.
Originellement, les adresses ne contenaient que des caractèresASCII. Pour pouvoir représenter des caractères non ASCII, il existe un système d'échappement codant en ASCII la valeurhexadécimale de chaqueoctet d'un caractère :%HH oùHH est un nombre hexadécimal. Toutefois, ce système d'échappement n'indique pas quel est lecodage de caractères sous-jacent (ISO/CEI 8859-1,UTF-8, etc.).
Media Resource Locator (MRL) est une chaîne de caractères utilisée pour identifier des ressourcesmultimédia sur leWorld Wide Web ou en local (c’est-à-dire sur l'ordinateur de l'utilisateur). Le terme MRL est une analogie avec le terme URL.
Les raccourcis d’adresse internet disponibles sur le bureau W11 par exemple ont pourextension .url. Cette extension a une particularité qu''elle partage avec l'extension des raccourcis de nom de fichiers.lnk : décocher la case "Masquer les extensions des fichiers dont le type est connu" ne suffit pas à les afficher. La procédure pour y arriver est complexe et potentiellement dangereuse quand elle passe par labase de registre. Elle est documentée dans le cas de .lnk .
↑Au moyen d’un codage de caractèreUnicode sous la formeUTF-8 avant transformation des octets non ASCII en notation hexadécimale à deux chiffres par octet.
(en)RFC 1738Uniform Resource Locators (URL) RFC qui a longtemps servi de base à la définition des URL et des URI. Elle définissait le format des URL pour différents protocoles comme Gopher, Mailto, etc. Le format des URL pour les requêtes de ces différents protocoles sont maintenant traités à part dans des documents propres à chacun. Obsolète, remplacée parRFC 3986.