Ce document décrit sommairement les principales URLs (Uniform Resource Locators) et les protocoles qui leur sont associés.
Une URL (Uniform Resource Locator) est un standard développé afin de localiser précisément une ressource électronique et son mode d'accès. Les URLs sont définies par le Request For Comments RFC 1738.
Les URLs permettent l'accès à un large éventail d'informations accessibles via différents protocoles Internet. L'utilisation la plus courante des URLs consiste à utiliser la barre d'adresse d'un navigateur World Wide Web (WWW). Les URLs généralement utilisées dans un navigateur Web commencent par "http:". Néanmoins, toutes sortes de fichiers et programmes tels que le File Transfert protocol (FTP) ou le service Gopher peuvent être référencés par des URLs. La connexion à distance via le protocole Unix Telnet ou l'accès au courrier électronique peuvent également se faire via l'utilisation d'URLs.
Une URL est donc, à la fois, l'adresse Internet d'un document et le mode de consultation du dit document, la connaissance de ces URLs est indispensable à une bonne maîtrise d'Internet.
Le format général de toute URL est le suivant :
<protocole>:<information-accessible-depuis-le-protocole>
Le protocole pouvant être "http", "gopher", "ftp", "news" et bien d'autres(cf. ci-dessous). Le protocole décrit le type de ressource à atteindre et/ou le mécanisme à utiliser pour l'obtention de la ressource.
La partie information-accessible-depuis-le-protocole
dependent est
détaillée ci-dessous pour chaque protocole mais contient dans la plupart des cas deux
types d'information :
- le nom de la machine mettant à disposition le fichier;
- le nom complet du fichier incluant le chemin.
Les URLs de type FTP, HTTP ou Gopher apparaissent généralement de la manière suivante :
protocole://machine.domaine/chemin-complet-du-fichier
Exemple : http://www.upf.pf/~capolsin/cours_html/url.html
Cette URL utilise donc le protocole "http" (HyperText Transfer Protocol),
pour accéder au fichier ~capolsin/cours_html/url.html
situé sur la machine www.upf.pf
.
Notons que pour les URLs de type FTP, HTTP ou Gopher, le nom de fichier peut se terminer par un / indiquant qu'il s'agit non d'un fichier mais d'un répertoire. Dans ce cas, le serveur retourne "l'index par défaut" du répertoire. Cet "index par défaut" pouvant être soit une liste des fichiers et répertoires situés à cet adresse soit un fichier par défaut recherché par le serveur (pour le protocole "http" : "index.html", "index.htm", "default.html", "default.htm", ...)
Pour les URLs les plus courantes, un simple click ou doube-click sur l'URL lance, si votre machine est bien configurée, le client approprié à l'accès de l'URL considérée, d'autres clients, comme les navigateurs Web, permettent la saisie ou le "copier-coller" d'une URL dans une zone précise enfin, un décodage "manuel" de l'URL et le lancement du client concerné est toujours possible.
Construire une URL est chose relativement aisée, il suffit de se référer aux exemples ci-dessous. La présentation d'une URL peut se faire de deux manière différentes :
ftp://ftp.mcom.com/netscape/mac/netscape.sea.hqx
<URL:ftp://ftp.mcom.com/netscape/mac/netscape.sea.hqx>
Le consortium W3 publie également d'autres recommandations.
Notons également que certains caractères sont réservés ou incertains et doivent être encodés à l'aide de "séquences d'échappement" dont la liste est donnée dans l'Appendice A: Séquences d'échappement.
Les protocoles les plus utilisés sont sans aucun doute HTTP, FTP, Gopher, News et Mailto, néanmoins, dans un soucis d'exhaustivité, nous listons également d'autres protocoles moins répandus bien qu'utiles ou historiques.
HTTP est le protocole du World Wide Web et est donc le protocole le plus utilisé et de loin ! Sa syntaxe est la suivante :
http://<machine>:<port>/<chemin>?<chemin-de-recherche>
machine est le nom ou l'adresse IP du serveur WWW, port est le numéro de port à utiliser pour la connexion. Dans la plupart des cas le numéro de port peut être omis, le port 80 est alors utilisé par défaut.
Le chemin indique au serveur WWW le chemin et le nom de fichier à accéder. En cas d'omission, la page par défaut du serveur est accédée. Le chemin-de-recherche peut être utilisé afin de fournir de l'information au serveur, en général les paramètres d'un script CGI ou d'un formulaire.
Le caractère # peut également être rencontré afin de spécifié un signet particulier d'une page html. L'URL ci-dessous saute directement au signet "http" de la page html référencée :
http://www.upf.pf/~capolsin/cours_html/url.html#http
FTP est un protocole très utilisé permettant le transfert bi-directionnel de fichiers sur Internet mais aussi sur un réseau local. UN transfert de fichier peut se faire également via le protocole HTTP mais cela ne se fait pas aussi souplement qu'en utilisant des clients FTP spécifiques. La syntaxe est la suivante :
ftp://<login>:<password>@<machine>:<port>/<cwd1>/<cwd2>/.../<cwdN>/<nom>
La partie login et password peut être omise si l'on contacte une machine n'ayant aucune restriction sur les utilisateurs autorisés à accéder aux ressources (anonymous est alors utilisé). machine ets le nom ou l'adresse IP du site à contacter. Le paramètre port peut être omis (port 21 utilisé par défaut). La partie "<cwd1>/<cwd2>/.../<cwdN>/<nom>" représente le chemin complet du fichier à récupérer. Cette dernière partoe peut également être omise, la connexion s'établit alors à la racine de l'arborescence du serveur FTP.
La syntaxe des URLs Gopher est très proche de celle des URLs FTP ou HTTP:
gopher://<machine>:<port>/<gopher-chemin>
Le port est, ici encore, optionnel. Le gopher-chemin indique le type de ressource gopher ainsi que d'autres informations intéressantes pour la recherche.
La syntaxe est la suivante :
mailto:<compte@site>
compte@site est l'adresse électronique du correspondant telle que définie dans RFC 822. Notons que quelques vieux navigateurs Web ne reconnaisse pas l'URL "mailto".
Les URLs de News permettent le référencement d'un groupe de discussion (newsgroup) ou bien d'un unique article, les deux syntaxes autorisées sont donc :
news:<nom-du-newsgroup>
news:<identifiant-de-message>
La partie nom-du-newsgroup peut-être n'importe quel nom valide de groupe de discussion (par exemple comp.infosystems.www.providers ou fr.www.*) et indique au navigateur qu'il doit transférer la totalité des titres d'articles disponibles dans le groupe indiqué. L'identifiant-de-message se trouve dans l'entête de tout message.
Les URLs news ne contiennent aucune indication de serveur de news. Il est donc indispensable d'avoir un client proprement configuré pour l'accès à un serveur NNTP.
Cette URL est très proche de la précédente mais indique le nom d'un serveur NNTP spécifique.
nntp://<machine>:<port>/<nom-du-newsgroup>/<identifiant-de-message>
Ceci sous-entend que le serveur NNTP ne possède aucune restriction sur les machines autorisées à accéder à ses ressources, ce qui n'est pas toujours le cas ...
Cette URL permet la connexion distante à un serveur (souvent un serveur Unix).La syntaxe est la suivante :
telnet://<login>:<password>@<machine>:<port>/
La partie <login>:<password>
peut être omise, ces
informations seront demandées par la <machine>
dès l'établissement
de la connexion. Le port utilisé par défaut est le port 23, port standard du
telnet.
Cette URL est utilisée pour la connexion à un gros système (généralement IBM) nécessitant une émulation de type TN3270. Cette URL n'est pas décrite dans la RFC 1738 mais est une extension proposée.
tn3270://<login>:<password>@<machine>:<port>/
L'URL wais permet l'accès aux bases de données ou aux documents indexées selon la méthode WAIS. trois syntaxes sont possibles :
wais://<machine>:>port>/<database>
wais://<machine>:<port>/<database>?<recherche>
wais://<machine>:<port>/<database>/<wtype>/<wpath>
La première syntaxe indique l'accès à une base WAIS, la seconde une recherche sur une base WAIS et la troisième référence un document précis.
L'URL "file" permet de référencer un fichier situé sur une machine précise. Il existe souvent une confusion entre cette URL et les URLs de type "ftp". FTP spécifie une méthode précise de récupération d'un fichier alors que l'URL "file" laisse tout le contrôle de la méthode au client utilisé. La syntaxe est la suivante :
file://<machine>/<chemin>
machine peut être omis, la machine locale est alors utilisée.
Certains caractères sont considérés comme "réservés" ou "non fiables" et doivent donc être remplacés par une séquence d'échappement. Ces séquences ont la forme "%+US-ASCII-valeur-hexadecimal". Les caractères dits "non fiables" sont les suivants :
SPACE %20 < %3C > %3E # %23 % %25 { %7B } %7D | %7C \ %5C ^ %5E ~ %7E [ %5B ] %5D ` %60
Les Reserved Les caractères réservés sont utilisé dans les URLs et doivent donc être encodés si l'on souhaite les faire apparaître comme de vrais caractères. Leur liste est la suivante :
; %3B / %2F ? %3F : %3A @ %40 = %3D & %26