Principes de base
Accéder à une ressource
Pour demander au navigateur de récupérer une page statique ou dynamique sur Internet et l'afficher, il suffit de taper son URL. Cette chaîne de caractères, plus communément appelée adresse web, est utilisée par les navigateurs pour accéder à n'importe quelles ressources du Web:
URL de la page «index.html» du site «www.starbuzzcafe.com»
D'une manière générale, une URL de la forme
est décomposable en plusieurs parties:
- Le nom du protocole ()
Il s'agit de la méthode utilisée pour communiquer sur le réseau. Pour transférer des documents HTML, des images ou d'autres types de fichiers liés à une page Web, le protocole le plus largement utilisé est le protocole HTTP. A chaque fois que vous tapez une URL dans la barre d'adresse de votre navigateur, celui-ci demande au serveur la ressource correspondante via le protocole HTTP. Si le serveur la trouve, il la passe au navigateur et celui-ci l'affiche; quand la ressource est introuvable, la réponse du serveur est claire: «404 Error».
De nombreux autres protocoles sont toutefois utilisables (FTP, SSH, POP, WebDAVE, DNS, ...). Remarquez par exemple l'appartition du protocole «file» utilisé quand le navigateur lit des fichiers qui se trouvent sur votre ordinateur. Par exemple, l'URL file:///chapitre2/starbuzz/index.html indique au navigateur que le fichier «index.html» se trouve dans l'arborescence «/chapitre2/starbuzz/» de votre système de fichiers. Ce type d'URL se présente avec trois slashs et non deux comme avec le protocole HTTP.
- Le nom du site ()
Il s'agit du nom du serveur hébergeant la ressource demandée. Notez qu'il est possible d'utiliser l'adresse IP du serveur, ce qui rend alors l'URL moins lisible. Comme nous le verrons dans la section consacrée aux réseaux, une adresse IP est un identifiant numérique composé de 4 nombres entiers situés chacun entre 0 et 255 et séparés d'un point (par exemple, 194.153.205.26) et permettant d'adresser de manière unique un ordinateur situé sur un réseau.
- Le numéro de port ()
Il s'agit d'un numéro associé à un service offert par le serveur et permettant à ce dernier de savoir quel type de ressource est demandée. En effet, chaque machine reliée à un réseau dispose d'une adresse IP permettant de la contacter. Néanmoins, sur une machine donnée, plusieurs programmes peuvent tourner simultanément comme l'illustre le serveur WPC ci-dessous:
Le serveur WPC donne accès à différents services (un serveur FTP, un serveur mail, un serveur de base de données et un serveur Web). Quand un paquet de données arrive sur la machine WPC, celle-ci doit savoir à quel programme transmettre les données. Cette information est codée à l'aide d'un numéro de port associé à chaque application. Sur l'illustration, les ports utilisés par chacun des programmes-serveurs sont écrits en rouge. Ainsi, quand la machine WPC reçoit des données, elle vérifie dans l'URL le numéro de port du service requis et transmet ces données au programme associé. Le numéro de port doit être précisé uniquement lorsqu'il ne s'agit pas du port standart pour le protocole utilisé (80 pour HTTP, 21 pour FTP,...). Normalement, sur le Web, les données sont transmises
sur le port 80 mais il arrive que les serveurs soient configurés pour recevoir les requêtes sur un autre port.
- Le chemin d'accès à la ressource ()
Cette partie permet au serveur de connaître le répertoire dans lequel est située la ressource (un fichier statique ou le script Python/PHP implémentant l'application Web) demandée sur le serveur.
- Les paramètres d'une application Web ( et )
Il s'agit de données supplémentaires envoyées en paramètres à une application web tournant sur le serveur (un script Python ou PHP, par exemple). Ces données sont généralement transmises à partir d'un formulaire HTML.