Une URL (Uniform Resource Locator) est un format de nommage universel pour désigner
une ressource sur Internet. Il s'agit d'une chaîne de caractères ASCII
imprimables qui se décompose en cinq parties:
- Le nom du protocole : c'est-à-dire en quelque sorte le langage utilisé
pour communiquer sur le réseau. Le protocole le plus largement utilisé est le protocole HTTP (HyperText
Transfer Protocol), le protocole permettant d'échanger des pages Web au format HTML.
De nombreux autres protocoles sont toutefois utilisables (FTP,News,Mailto,Gopher,...)
- Identifiant et mot de passe : permet de spécifier les paramètres d'accès à un serveur sécurisé. Cette option
est déconseillée car le mot de passe est visible dans l'URL
- Le nom du serveur : Il s'agit d'un nom de domaine de l'ordinateur
hébergeant la ressource demandée. Notez qu'il est possible d'utiliser l'adresse IP du serveur,
ce qui rend par contre l'URL moins lisible.
- Le numéro de port : il s'agit d'un numéro associé à un service permettant au serveur de savoir
quel type de ressource est demandée. Le port associé par défaut au protocole est le port numéro 80. Ainsi, lorsque le service Web du serveur est
associé au numéro de port 80, le numéro de port est facultatif
- Le chemin d'accès à la ressource : Cette dernière partie permet au serveur de connaître l'emplacement auquel la ressource
est située, c'est-à-dire de manière générale l'emplacement (répertoire) et le nom
du fichier demandé
Une URL a donc la structure suivante :
Protocole |
Mot de passe (facultatif) |
Nom du serveur |
Port (facultatif si 80) |
Chemin |
http:// |
user:password@ |
www.commentcamarche.net |
:80 |
/glossair/glossair.php3 |
Les protocoles suivant peuvent par exemple être utilisés par l'intermédiaire de l'URL :
- http, pour la consultation de pages web
- ftp, pour la consultation de sites FTP
- telnet, pour la connexion à un terminal distant
- mailto, pour l'envoi d'un courrier électronique
- wais
- gopher
Le nom de fichier dans l'URL peut être suivi d'un point d'interrogation
puis de données au format ASCII, il s'agit de données supplémentaires
envoyées en paramètre d'une application sur le serveur (un script CGI
par exemple). L'URL ressemblera alors à une chaîne de caractères comme celle-ci :
http://www.commentcamarche.net/forum/index.php3?cat=1&page=2
Etant donné que l'URL est un moyen d'envoyer des informations à
travers Internet (pour envoyer des données à un script CGI
par exemple), il est nécessaire de pouvoir envoyer des caractères spéciaux, or
les URL ne peuvent pas contenir de caractères spéciaux. De plus, certains caractères
sont réservés car ils ont une signification (le slash permet de spécifier un sous-répertoires,
les caractères & et ? servent à l'envoi de données par formulaires...). Enfin les
URL peuvent être inclus dans un document HTML, ce qui rend difficile l'insertion de caractères
tels que < ou > dans l'URL.
C'est pourquoi un codage est nécessaire ! Le codage consiste à remplacer les
caractères spéciaux par le caractère % (devenant lui aussi un caractère spécial)
suivi du code ASCII du caractère à coder en notation hexadécimale.
Voici la liste des caractères nécessitant un codage particulier :
Caractère |
Codage URL |
Tabulation |
%09 |
Espace |
%20 |
" |
%22 |
# |
%23 |
% |
%25 |
& |
%26 |
( |
%28 |
) |
%29 |
, |
%2C |
. |
%2E |
/ |
%2F |
: |
%3A |
; |
%3B |
< |
%3C |
= |
%3D |
> |
%3E |
? |
%3F |
@ |
%40 |
[ |
%5B |
\ |
%5C |
] |
%5D |
^ |
%5E |
' |
%60 |
{ |
%7B |
| |
%7C |
} |
%7D |
~ |
%7E |
Le format des URL est défini par le RFC 1738 :
|