Qu'est-ce qu'un URL?

Un 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 quatre parties:

Un URL a donc la structure suivante:

Protocole Nom du serveur
Port (facultatif si 80)
Chemin
http:// www.monserveur.fr
:80
/infos/index.htm

Les protocoles les plus connus pouvant être utilisés par l'intermédiaire d'un URL sont les suivants:

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.monserveur.fr/cgi-bin/cgi.pl?q=query&lang=fr

Le codage d'un 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écéssaire! 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.

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