Qu'est-ce qu'une URL?
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.anassoft.net |
:80 |
/SEC/XXX.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
Le codage d'une URL
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 |
|