Man page - url(7)

Packages contains this manual

Available languages:

en fr pt_BR es ja ru de

Manual

uri

NOM
SYNOPSIS
DESCRIPTION
Utilisation
Codage des caractĂšres
Écrire un URI
STANDARDS
NOTES
Sécurité
BOGUES
VOIR AUSSI
TRADUCTION

NOM

uri, url, urn - Identificateur de ressource uniforme (URI), comprenant URL ou URN

SYNOPSIS

URI =

[ URI_absolu | URI_relatif ] [ " # " fragment ]

URI_absolu =

mécanisme .RB " : " ( partie_hiérarchique | partie_opaque )

URI_relatif =

( chemin_rĂ©seau | chemin_absolu | chemin_relatif ) [ " ? " requĂȘte ]

mécanisme =

" http " | " ftp " | " gopher " | " mailto " | " news " | " telnet " | " file " | " ftp " | " man " | " info " | " whatis " | " ldap " | " wais " | ...

partie_hiérarchique =

( chemin_rĂ©seau | chemin_absolu ) [ " ? " requĂȘte ]

chemin_réseau =

" // " autorité [ chemin_absolu ]

chemin_absolu =

" / " segments_chemins

chemin_relatif =

segment_relatif [ chemin_absolu ]

DESCRIPTION

Un Identificateur de Ressource Uniforme (URI) est une courte chaĂźne de caractĂšres identifiant une ressource physique ou abstraite (par exemple une page web). Une Localisation de Ressource Uniforme (URL) est un URI qui identifie une ressource Ă  travers son moyen d’accĂšs (sa « position » rĂ©seau par exemple), plutĂŽt que par son nom ou un autre attribut de la ressource. Un Nom de Ressource Uniforme (URN) est un URI qui doit rester globalement unique, et persister mĂȘme si la ressource cesse d’exister ou devient indisponible.

Les URI constituent le mécanisme standard pour nommer les destinations des liens hypertextes pour les outils comme les navigateurs web. La chaßne « http://www.kernel.org » est une URL (et donc aussi un URI). Beaucoup de gens utilisent le terme URL comme vague synonyme de URI (bien que techniquement les URL soient un sous-ensemble des URI).

Les URI peuvent ĂȘtre absolus ou relatifs. Un identificateur absolu rĂ©fĂ©rence une ressource indĂ©pendamment du contexte, alors qu’un identificateur relatif rĂ©fĂ©rence une ressource en dĂ©crivant la diffĂ©rence par rapport au contexte courant. Dans les rĂ©fĂ©rences de chemins relatifs, les segments complets « . » et « .. » ont des significations particuliĂšres : « le niveau actuel dans la hiĂ©rarchie » et « le niveau au-dessus dans la hiĂ©rarchie », respectivement, tout comme dans les systĂšmes type UNIX. Un segment de chemin qui contient un caractĂšre deux-points ne peut pas ĂȘtre utilisĂ© comme premier segment du chemin d’un URI (par exemple « ceci:cela »), car on le confondrait avec le mĂ©canisme. PrĂ©cĂ©dez un tel segment avec ./ (par exemple « ./ceci:cela »). Notez que les descendants de MS-DOS (par ex. Windows) remplacent le deux-points du nom de pĂ©riphĂ©rique par une barre verticale dans les URI, ainsi « C: » devient « C| ».

Un identificateur de fragment, s’il est prĂ©sent, rĂ©fĂ©rence une portion particuliĂšre de la ressource ; le texte aprĂšs le « # » identifie le fragment. Un URI commençant par « # » rĂ©fĂ©rence le fragment dans la ressource courante.

Utilisation

Il y a plusieurs schĂ©mas d’URI diffĂ©rents, chacun ajoutant des rĂšgles et des significations spĂ©cifiques, mais ils sont volontairement rendus le plus ressemblants possible. Par exemple, plusieurs schĂ©mas d’URL permettent le format suivant pour dĂ©crire l’autoritĂ© d’un chemin rĂ©seau, que l’on appellera serveur_ip (les crochets encadrent les parties optionnelles) :

serveur_ip = [ user [ : password ] @ ] hĂŽte [ : port ]

Ce format permet d’insĂ©rer Ă©ventuellement un nom d’utilisateur, suivi Ă©ventuellement d’un mot de passe, et/ou un numĂ©ro de port. La partie hĂŽte est le nom de l’ordinateur, soit son nom dĂ©terminĂ© par le DNS, soit son adresse IP (numĂ©ros sĂ©parĂ©s par des points). Ainsi l’URI <http://fred:fredpassword@example.com:8080/> se connecte dans le serveur web sur l’ordinateur example.com avec l’identitĂ© fred (et le mot de passe fredpassword) en utilisant le port 8080. Évitez d’utiliser les mots de passe dans les URI Ă  cause des risques liĂ©s Ă  la sĂ©curitĂ© sitĂŽt que l’on Ă©crit un mot de passe. Si l’URL indique un nom d’utilisateur et pas de mot de passe, et si le serveur distant rĂ©clame un mot de passe, alors le programme interprĂ©tant l’URL peut en demander un Ă  l’utilisateur.

Voici les mĂ©canismes les plus courants utilisĂ©s sur les systĂšmes type UNIX, compris par de nombreux outils. Notez que beaucoup d’outils gĂ©rant les URI ont aussi des mĂ©canismes internes ou spĂ©cialisĂ©s ; consultez la documentation de ces outils pour plus de dĂ©tails.

http - Serveur Web (HTTP)

http:// serveur_ip / chemin
http:// serveur_ip / chemin ? requĂȘte

Il s’agit d’une URL accĂ©dant Ă  un serveur web (HTTP). Le port par dĂ©faut est 80. Si le chemin rĂ©fĂ©rence un rĂ©pertoire, le serveur choisira ce qu’il renverra. Habituellement, si un fichier nommĂ© « index.html » ou « index.htm » est prĂ©sent, son contenu est renvoyĂ©. Sinon, il crĂ©e et renvoie une liste des fichiers dans le rĂ©pertoire en cours avec les liens appropriĂ©s. Un exemple : <http://lwn.net>.

Une requĂȘte peut ĂȘtre formulĂ©e dans le format archaĂŻque « isindex », consistant en mot ou phrase sans signe Ă©gal « = ». Une requĂȘte peut aussi ĂȘtre dans le format « GET » plus long, qui a une ou plusieurs entrĂ©es de requĂȘtes de la forme clĂ© = valeur sĂ©parĂ©es par un caractĂšre « et commercial » « & ». Notez que la clĂ© peut ĂȘtre rĂ©pĂ©tĂ©e plusieurs fois, et c’est au serveur web et ses programmes applicatifs de dĂ©terminer s’il y a une signification pour cela. Il y a une interaction malheureuse avec HTML/XML/SGML et le format de requĂȘte GET. Quand une telle requĂȘte avec plusieurs clĂ©s est incluse dans un document SGML/XML (y compris HTML), le « et commercial » « & » doit ĂȘtre réécrit sous forme « &amp; ». Notez que toutes les requĂȘtes n’utilisent pas ce format ; elles peuvent ĂȘtre trop longues pour ĂȘtre stockĂ©e en URL et utilisent un mĂ©canisme d’interaction diffĂ©rent (appelĂ© POST) sans inclure les donnĂ©es dans l’URI. Consultez la spĂ©cification Common Gateway Interface (CGI) Ă  l’adresse http://www.w3.org/CGI pour plus de dĂ©tails.

ftp - File Transfer Protocol (FTP)

ftp:// serveur_ip / chemin

Cette URL accĂšde Ă  un fichier Ă  travers le protocole FTP. Le port par dĂ©faut (pour les commandes) est 21. Si aucun nom d’utilisateur n’est inclus, l’utilisateur « anonymous » est employĂ©, et dans ce cas de nombreux clients fournissent l’adresse courriel du requĂ©rant en guise de mot de passe. Un exemple est <ftp://ftp.is.co.za/rfc/rfc1808.txt>.

gopher - Serveur Gopher

gopher:// serveur_ip / type_gopher sélecteur
gopher:// serveur_ip / type_gopher sélecteur %09 recherche
gopher:// serveur_ip / type_gopher sélecteur %09 recherche %09 chaine_gopher+

Le port gopher par dĂ©faut est 70. Le type_gopher est un champ composĂ© d’un unique caractĂšre indiquant le type de ressource Gopher Ă  laquelle l’URL fait rĂ©fĂ©rence. Le chemin entier paut aussi ĂȘtre vide, auquel cas le dĂ©limiteur « / » est aussi optionnel et le type_gopher prend la valeur par dĂ©faut « 1 ».

selecteur est une chaĂźne de sĂ©lecteur Gopher. Dans le protocole Gopher, la chaĂźne de sĂ©lecteur est une sĂ©quence d’octets pouvant contenir tous les octets sauf 09 hexadĂ©cimal (HT ACSII ou Tabulation), 0A hexadĂ©cimal (LF ACSII), et 0D (CR ACSII).

mailto - Adresse courriel

mailto: adresse-courriel

Il s’agit d’une adresse courriel, en principe de la forme nom @ nom_hĂŽte . Consultez mailaddr (7) pour plus d’informations sur le format correct d’une adresse courriel. Notez que les caractĂšres % doivent ĂȘtre transformĂ©s en %25. Un exemple : <mailto:dwheeler@dwheeler.com>.

news - Groupe ou message des news

news: nom-groupe-news
news: id-message

Un nom-groupe-news est un nom hiĂ©rarchique dĂ©limitĂ© par des points, comme « comp.infosystems.www.misc ». Si nom-groupe-news est « * » (comme dans <news:*>), l’URL rĂ©fĂ©rence tous les groupes news disponibles. Un exemple : <news:comp.lang.ada>.

Un id-message correspond au champ identificant Message-ID de IETF RFC 1036, sans les chevrons « < » et « > » ; il prend la forme unique @ nom-domaine-complet . Un identificateur de message peut ĂȘtre distinguĂ© d’un nom de groupe de news par la prĂ©sence du caractĂšre « @ ».

telnet - Connexion telnet

telnet:// serveur_ip /

Le mĂ©canisme d’URL Telnet est utilisĂ© pour afficher un service interactif accessible par le protocole Telnet. Le caractĂšre « / » final peut ĂȘtre omis. Le port par dĂ©faut est 23. Un exemple : <telnet://melvyl.ucop.edu/>.

file - Fichier normal

file:// serveur_ip / segments_chemins
file: segments_chemins

Ceci reprĂ©sente un fichier ou un rĂ©pertoire accessible localement. En particulier, ip_server peut ĂȘtre la chaĂźne « localhost » ou une chaĂźne vide ; elle est interprĂ©tĂ©e comme « la machine sur laquelle l’URL est en cours d’interprĂ©tation ». Si le chemin conduit Ă  un rĂ©pertoire, le navigateur devrait afficher le contenu du rĂ©pertoire avec des liens pour chaque Ă©lĂ©ment. Tous les navigateurs ne le font pas encore. KDE prend en charge les fichiers gĂ©nĂ©rĂ©s par l’URL <file:/cgi-bin>. Si le fichier n’est pas trouvĂ©, l’analyseur du navigateur peut essayer de dĂ©velopper le nom du fichier (consultez glob (7) et glob (3)).

Le second format (par ex. <file:/etc/passwd>) est le format correct pour rĂ©fĂ©rencer un fichier local. Toutefois les anciens standards ne le permettaient pas, et certains programmes ne le reconnaissent pas comme URI. Une syntaxe plus portable est d’utiliser une chaĂźne vide en guise de nom de serveur <file:///etc/passwd> ; cette forme a le mĂȘme effet et est reconnue facilement comme un URI par les analyseurs des anciens programmes. Notez que si vous dĂ©sirez vraiment Ă©crire « dĂ©buter de l’emplacement actuel », n’indiquez pas de mĂ©canisme ; utilisez une adresse relative comme <../test.txt>, qui est indĂ©pendante du mĂ©canisme. Un exemple de ce mĂ©canisme est <file:///etc/passwd>.

man - Pages de manuel

man: nom-commande
man: nom-commande ( section )

Ceci rĂ©fĂ©rence les pages de documentation en ligne (man) locales. Le nom de la commande peut ĂȘtre suivi Ă©ventuellement de parenthĂšses et d’un numĂ©ro de section. Consultez man (7) pour plus de renseignements sur la signification du numĂ©ro de section. Ce mĂ©canisme d’URI est unique aux systĂšmes UNIX (comme Linux) et n’est pas encore enregistrĂ© par l’IETF. Un exemple : <man:ls(1)>.

info - Page de documentation Info

info: nom-de-fichier-virtuel
info: nom-de-fichier-virtuel # nom-de-nƓud
info:( nom-de-fichier-virtuel )
info:( nom-de-fichier-virtuel ) nom-de-nƓud

Ce mĂ©canisme rĂ©fĂ©rence les pages de documentation en ligne info (créées par les fichiers texinfo), un format utilisĂ© par les outils GNU. Ce mĂ©canisme est spĂ©cifique aux systĂšmes UNIX (comme Linux) et n’est pas encore enregistrĂ© par l’IETF. Actuellement, Gnome et Kde divergent dans la syntaxe d’URI et chacun rejette la syntaxe de l’autre. Les deux premiers formats sont ceux de Gnome ; dans le nom de nƓud, tous les espaces sont remplacĂ©s par des soulignĂ©s. Les deux formats suivants sont ceux de Kde ; les espaces doivent rester tels quels, mĂȘme si c’est interdit dans les standards d’URI. On peut espĂ©rer que dans l’avenir la plupart des outils comprendront les deux formats et accepteront des soulignĂ©s en remplacement des espaces. Dans tous les cas, le format sans nom de nƓud est supposĂ© viser le nƓud « Top »". Exemples de format Gnome : <info:gcc> et <info:gcc#G++_and_GCC>. Exemples de format Kde : <info:(gcc)> et <info:(gcc)G++ and GCC>.

whatis - Recherche de documentation

whatis: chaĂźne

Ce mĂ©canisme parcourt une base de donnĂ©es de courtes (une ligne) descriptions des commandes et renvoie une liste des descriptions contenant la chaĂźne. Seules les correspondances de mots complets sont renvoyĂ©es. Consultez whatis (1). Ce mĂ©canisme est unique aux systĂšmes UNIX (comme Linux) et n’est pas encore enregistrĂ© par l’IETF.

ghelp - Documentation d’aide Gnome

ghelp: nom-application

Ceci charge la documentation d’aide Gnome pour l’application indiquĂ©e. Notez qu’il n’y a pas encore beaucoup de documentation dans ce format.

ldap - Lightweight Directory Access Protocol

ldap:// hostport
ldap:// hostport /
ldap:// hostport / dn
ldap:// hostport / dn ? attributs
ldap:// hostport / dn ? attributs ? portée
ldap:// hostport / dn ? attributs ? portée ? filtre
ldap:// hostport / dn ? attributs ? portée ? filtre ? extensions

Ce mĂ©canisme prend en charge les requĂȘtes utilisant le protocole Lightweight Directory Access Protocol (LDAP), pour interroger un ensemble de serveurs Ă  propos d’informations organisĂ©es hiĂ©rarchiquement (comme des gens ou des ressources de calcul). Consultez RFC 2255 pour plus d’informations sur la forme des URL LDAP. Les composantes de cette URL sont :
hostport

le serveur LDAP Ă  interroger, Ă©crit comme un nom d’hĂŽte suivi Ă©ventuellement par un deux-points et un numĂ©ro de port. Le port TCP pour le LDAP est 389. Si le nom est vide, le client dĂ©termine le serveur LDAP Ă  utiliser.

dn

Le nom complet (Distinguished Name) LDAP, qui identifie l’objet de base de la recherche LDAP (voir RFC 2253 section 3).

attributs

une liste d’attributs Ă  renvoyer sĂ©parĂ©s par des virgules ; voir la RFC 2251 section 4.1.5. Par dĂ©faut tous les attributs sont renvoyĂ©s..

portée

indique la portĂ©e de la recherche qui peut ĂȘtre « base » (recherche d’objet de base), « one » (recherche sur un niveau), ou « sub » (recherche dans un sous-arbre). Par dĂ©faut, on considĂšre « base ».

filter

indique le filtre de recherche (sous-ensemble des entrées à renvoyer). Par défaut, toutes les entrées sont renvoyées. Consultez RFC 2254 section 4.

extensions

une liste de paires type=valeur sĂ©parĂ©es par des virgules, oĂč la portion =valeur peut ĂȘtre omise pour les options ne la nĂ©cessitant pas. Une extension prĂ©fixĂ©e par un « ! » est critique (doit ĂȘtre pris en charge pour ĂȘtre valide), sinon elle est non-critique (facultative).

Les requĂȘtes LDAP sont plus faciles Ă  comprendre par l’exemple. Voici une requĂȘte demandant Ă  ldap.itd.umich.edu des informations Ă  propos de l’UniversitĂ© du Michigan aux U.S. :

ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US

Pour n’obtenir que l’attribut Adresse Postale, on demanderait :

ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress

Pour demander Ă  host.com, sur le port 6666 des informations sur la personne de nom courant (cn) « Babs Jensen » Ă  l’University du Michigan, demandez :

ldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)

wais - Wide Area Information Servers

wais:// hostport / base
wais:// hostport / base ? recherche
wais:// hostport / base / wtype / wpath

Ce mĂ©canisme dĂ©signe une base de donnĂ©es WAIS, une recherche ou un document (voir IETF RFC 1625 pour plus de renseignements sur WAIS). Hostport est le nom d’hĂŽte, suivi Ă©ventuellement d’un deux-points et d’un numĂ©ro de port (par dĂ©faut 210).

La premiĂšre forme dĂ©signe une base de donnĂ©es WAIS pour les recherches. La seconde dĂ©signe une recherche particuliĂšre dans la base WAIS indiquĂ©e. La troisiĂšme forme dĂ©signe un document particulier Ă  retrouver dans la base de donnĂ©es WAIS. wtype est la dĂ©signation WAIS du type d’objet et wpath est l’identificateur WAIS du document.

Autres mécanismes

Il existe d’autres mĂ©canismes URI. La plupart des outils traitant les URI acceptent un jeu d’URI internes (par exemple, Mozilla a un mĂ©canisme about: pour les informations internes, et le navigateur d’aide Gnome a un mĂ©canisme toc: pour diverses opĂ©rations). Il y a de nombreux mĂ©canismes qui ont Ă©tĂ© dĂ©finis mais pas trĂšs utilisĂ©s pour l’instant (par exemple, prospero). Le mĂ©canisme nntp: est dĂ©conseillĂ© en faveur de celui news:. Les URN seront prises en charge par le mĂ©canisme urn: avec des espaces de noms hiĂ©rarchique (p.ex. : urn:ietf:... pour les documents IETF). Pour le moment, les URN ne sont pas trĂšs largement implĂ©mentĂ©s. Tous les outils ne gĂšrent pas tous les mĂ©canismes.

Codage des caractĂšres

Les URI utilisent un nombre limitĂ© de caractĂšres afin d’ĂȘtre saisis et utilisĂ©s dans de nombreuses situations.

Les caractĂšres suivants sont rĂ©servĂ©s ; ils peuvent apparaĂźtre dans un URI, mais leurs usages est limitĂ©s aux fonctionnalitĂ©s rĂ©servĂ©es (les donnĂ©es conflictuelles doivent ĂȘtre protĂ©gĂ©es avant de former l’URI) :

; / ? : @ & = + $ ,

Les caractĂšres non-rĂ©servĂ©s peuvent ĂȘtre inclus dans un URI. Les caractĂšres non-rĂ©servĂ©s incluent les majuscules et minuscules latines, les chiffres dĂ©cimaux, et l’ensemble suivant de signes de ponctuation et de symboles :

- _ . ! ~ * ’ ( )

Tous les autres caractĂšres doivent ĂȘtre protĂ©gĂ©s. Un octet protĂ©gĂ© est encodĂ© sous forme d’un triplet de caractĂšres, consistant en un signe pourcent « % » suivi de deux chiffres hexadĂ©cimaux reprĂ©sentant le code de l’octet (les lettres hexadĂ©cimales peuvent ĂȘtre en majuscules ou en minuscules). Par exemple un espace blanc doit ĂȘtre protĂ©gĂ© sous forme « %20 », une tabulation « %09 » et le « & » en « %26 ». Comme le caractĂšre "% »" a toujours un rĂŽle rĂ©servĂ© pour protĂ©ger les autres caractĂšres, il faut le protĂ©ger sous forme « %25 ». Il est courant de protĂ©ger le caractĂšre espace en symbole plus « + » dans les requĂȘtes. Cette pratique n’est pas dĂ©fini uniformĂ©ment dans les RFC correspondantes (qui recommandent %20 plutĂŽt) mais tous les outils acceptant les URI avec des requĂȘtes prĂ©parĂ©es ainsi. Une URI est toujours montrĂ©e dans sa forme protĂ©gĂ©e.

Les caractĂšres non rĂ©servĂ©s peuvent ĂȘtre protĂ©gĂ©s sans modifier la sĂ©mantique de l’URI, mais il faut l’éviter sauf si l’URI est utilisĂ© dans un contexte qui ne permet pas l’utilisation du caractĂšre non protĂ©gĂ©. Par exemple « %7E » est parfois utilisĂ© Ă  la place de « ~ » dans les URL HTTP mais les deux sont en rĂ©alitĂ© Ă©quivalents dans ce contexte.

Pour les URI qui doivent manipuler des caractĂšres hors du jeu ASCII, la spĂ©cification HTML 4.01 (section B.2) et la IETF RFC 3986 (dernier paragraphe de la section 2.5) prĂ©conisent l’approche suivante :

(1)

traduire le caractĂšre en sĂ©quence UTF-8 (IETF RFC 3629) — consultez utf-8 (7) — puis

(2)

utiliser le mĂ©canisme d’échappement d’URI, c’est-Ă -dire, utiliser les %HH pour coder les octets non-sĂ»rs.

Écrire un URI

Lorsqu’il est Ă©crit, un URI doit ĂȘtre placĂ© entre guillemets (« http://www.kernel.org »), encadrĂ© par des chevrons (<http://lwn.net>), ou placĂ© sur une ligne indĂ©pendante. Un avertissement Ă  propos des guillemets : ne jamais introduire une ponctuation supplĂ©mentaire (comme le point final d’une phrase ou la virgule sĂ©parant les Ă©lĂ©ments d’une liste) Ă  l’intĂ©rieur de l’URI, car cela modifierait sa valeur (N.d.T. : cet avertissement vaut surtout pour les anglo-saxons ; en français l’usage veut que les Ă©lĂ©ments de ponctuations restent Ă  l’extĂ©rieur des guillemets). On peut utiliser les chevrons Ă  la place, ou basculer sur un systĂšme de notation qui n’incopore aucun caractĂšre supplĂ©mentaire Ă  l’intĂ©rieur des marques de citation. Ce systĂšme (N.d.T. : le nĂŽtre !), appelĂ© « nouveau » ou « logique » par les « Hart’s Rules » et le « Oxford Dictionnary for Writes and Editors », est la pratique prĂ©fĂ©rĂ©e des hackers en Grande-Bretagne et dans plusieurs langues europĂ©ennes. Les documentations anciennes suggĂšrent d’insĂ©rer le prĂ©fixe « URL: » juste avant un URI, mais cette forme n’a jamais Ă©tĂ© utilisĂ©e rĂ©ellement.

La syntaxe des URI a Ă©tĂ© conçue pour Ă©viter les ambiguĂŻtĂ©s. Toutefois, comme les URI sont devenus de plus en plus rĂ©pandus, les mĂ©dias traditionnels tĂ©lĂ©vision, radio, journaux et magazines...) ont utilisĂ© de maniĂšre croissante des abrĂ©viations d’URI, consistant en la seule partie autoritĂ© et segments de chemin de la ressource (par exemple <www.w3.org/Addressing>). De tels rĂ©fĂ©rences sont surtout prĂ©vues pour une interprĂ©tation humaine, avec la supposition que la comprĂ©hension du contexte permet de complĂ©ter l’URI (par exemple les noms d’hĂŽtes commençant par « www » se prĂ©fixent avec « http:// » et les noms commençant par « ftp » doivent se prĂ©fixer avec « ftp:// »). De nombreux clients rĂ©solvent ces rĂ©fĂ©rences avec de telles heuristiques. Elle peuvent toutefois Ă©voluer, particuliĂšrement quand de nouveaux mĂ©canismes sont introduits. Comme les URI abrĂ©gĂ©s ont la mĂȘme syntaxe qu’un chemin d’URL relative, les rĂ©fĂ©rences abrĂ©gĂ©es ne sont pas utilisables lorsque des URI relatifs sont autorisĂ©s. N’utilisez pas d’URI abrĂ©gĂ©s comme liens hypertexte dans un document ; utilisez le format standard dĂ©crit ici.

STANDARDS

(IETF RFC 2396) , (HTML 4.0) .

NOTES

Un outil acceptant les URI (par exemple un navigateur web) sur un systĂšme Linux devrait ĂȘtre capable de traiter (directement ou indirectement) tous les mĂ©canismes dĂ©crits ici, y compris man: et info:. Sous-traiter ces Ă©lĂ©ments Ă  un autre programme est tout Ă  fait acceptable, et mĂȘme encouragĂ©.

Techniquement, la notation d’un fragment ne fait pas partie de l’URI.

Pour savoir comment incorporer des URI (y compris des URL) dans un format de donnĂ©es, voir la documentation sur ce format. HTML utilise le format <A HREF=" uri "> text </A>. Les fichiers texinfo utilisent le format @uref{ uri }. Man et mdoc ont une macro UR rĂ©cemment ajoutĂ©e, ou incluent juste l’URI dans le texte (les visualiseurs doivent dĂ©tecter le :// comme portion d’URI).

Les environnements Gnome et Kde divergent actuellement sur les URI qu’ils acceptent, en particulier dans leurs systĂšmes d’aide. Pour lister les pages de manuel, Gnome utilise <toc:man> alors que Kde utilise <man:(index)>. Pour lister les pages info, Gnome emploie <toc:info> et Kde <info:(dir)> (l’auteur de cette page prĂ©fĂšre l’approche Kde, bien qu’un format plus rĂ©gulier serait encore meilleur). En gĂ©nĂ©ral, Kde utilise <file:/cgi-bin/> comme prĂ©fixe pour les fichiers gĂ©nĂ©rĂ©s. Kde prĂ©fĂšre la documentation en Html, accessible avec <file:/cgi-bin/helpindex>. Gnome prĂ©fĂšre le mĂ©canisme ghelp pour stocker et retrouver la documentation. Aucun navigateur ne gĂšre les rĂ©fĂ©rences file: vers un rĂ©pertoire Ă  l’heure oĂč j’écris ces lignes, ce qui rend difficile de se rĂ©fĂ©rer Ă  un rĂ©pertoire avec un URI navigable. Comme indiquĂ© plus haut, ces environnements diffĂšrent sur la gestion du mĂ©canisme info:, probablement leur plus importante divergence. On espĂšre que Gnome et Kde vont converger vers des formats d’URI communs, et la future version de cette page dĂ©crira le rĂ©sultat de cette convergence.

Sécurité

Un URI ne pose pas de problĂšme de sĂ©curitĂ© par lui-mĂȘme. Il n’y a aucune garantie qu’une URL, qui localise une ressource Ă  un moment donnĂ© continuera de le faire. Pas plus qu’il n’y a de garantie qu’une URL ne localisera pas une ressource diffĂ©rente Ă  un autre moment. Les seules garanties peuvent ĂȘtre fournies par les personnes qui gĂšrent l’espace de noms de la ressource en question.

Il est parfois possible de construire une URL de maniĂšre qu’une tentative de rĂ©aliser une opĂ©ration apparemment bĂ©nigne, comme accĂ©der Ă  la ressource associĂ©e, va en rĂ©alitĂ© produire une action Ă©ventuellement dommageable pour le correspondant. Les URL non sĂ»res sont typiquement construites en indiquant un numĂ©ro de port diffĂ©rents de ceux rĂ©servĂ©s pour les protocoles en question. Le client, croyant contacter un site, va en rĂ©alitĂ© engager un autre protocole. Le contenu de l’URL contient des instructions, qui interprĂ©tĂ©es par l’autre protocole, produisent des rĂ©sultats inattendus. Un exemple a Ă©tĂ© l’emploi d’une URL Gopher pour envoyer un message falsifiĂ© et indĂ©sirĂ© sur un serveur SMTP.

Il faut ĂȘtre prudent en utilisant une URL qui indique un numĂ©ro de port diffĂ©rent de celui du protocole, particuliĂšrement si ce numĂ©ro est dans l’espace rĂ©servĂ©.

Il faut s’assurer que lorsque l’URI contient des dĂ©limiteurs protĂ©gĂ©s pour un protocole donnĂ© (par exemple CR et LF pour le protocole telnet) qu’ils ne soient pas « dĂ©protĂ©gĂ©s » avant la transmission. Ceci peut violer le protocole, mais Ă©vite le risque que ces caractĂšres servent Ă  simuler une opĂ©ration dans ce protocole, ce qui peut conduire Ă  des actions distantes Ă©ventuellement nocives.

Il est clairement dĂ©raisonnable d’utiliser un URI qui contient un mot de passe censĂ© ĂȘtre secret. En particulier, l’utilisation du mot de passe dans la partie « info utilisateur » de l’URI est fortement dĂ©conseillĂ©, sauf s’il s’agit d’un de ces cas rares oĂč le mot de passe est vraiment public.

BOGUES

La documentation peut se trouver dans un grand nombre d’endroit, ainsi il n’y a pas encore de bon mĂ©canisme d’URI pour la documentation gĂ©nĂ©rale en ligne, dans des formats arbitraires. Les rĂ©fĂ©rence de la forme <file:///usr/doc/ZZZ> ne fonctionnent pas, car diffĂ©rentes distributions et installations locales peuvent placer les fichiers dans divers rĂ©pertoires (cela peut ĂȘtre /usr/doc, ou /usr/local/doc, ou /usr/share, ou autre part). De mĂȘme, le rĂ©pertoire ZZZ change en principe avec le numĂ©ro de version (bien que le dĂ©veloppement des noms de fichiers puisse partiellement couvrir ce problĂšme). Finalement, l’utilisation du mĂ©canisme file: n’est pas recommandĂ©e pour les gens qui consultent la documentation dynamiquement depuis Internet plutĂŽt que de la tĂ©lĂ©charger sur leur systĂšme de fichiers local. Un mĂ©canisme d’URI sera peut ĂȘtre ajoutĂ© dans l’avenir (p.ex. : « userdoc: ») pour permettre aux programme d’inclure des rĂ©fĂ©rences vers de la documentation plus dĂ©taillĂ©es sans avoir Ă  connaĂźtre l’emplacement exact de celle-ci. Autrement, une version future des spĂ©cifications du systĂšme de fichiers peut dĂ©crire les emplacements de maniĂšre suffisamment prĂ©cise pour que le mĂ©canisme file: soit capable de situer la documentation.

De nombreux programmes et formats de fichiers n’incluent aucune maniĂšre d’incorporer ou l’implĂ©menter des liens utilisant les URI.

Beaucoup de programmes ne traitent pas tous les formats URI diffĂ©rents ; il devrait y avoir un mĂ©canisme standard pour charger un URI quelconque qui dĂ©tecte automatiquement l’environnement utilisateur (p.ex. : texte ou graphique, environnement de bureau, prĂ©fĂ©rences de l’utilisateur, outils en cours d’exĂ©cution) et invoque le bon outil quelque soit l’URI.

VOIR AUSSI

lynx (1), man2html (1), mailaddr (7), utf-8 (7)
IETF RFC 2255

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com>, Frédéric Hantrais <fhantrais@gmail.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .