La communication entre les CGI et le navigateur

Notion d'URL et d'en-tête HTTP

Une URL (Uniform Resource Locator) est une adresse permettant de localiser un fichier sur Internet de manière unique. C'est grâce à cette adresse (du genre www.commentcamarche.net) qu'il est possible d'effectuer des requêtes vers des pages web. Lorsqu'une telle adresse est saisie dans un navigateur, celui-ci localise le serveur web et lui transmet une requête via le protocole HTTP (HyperText Transfer Protocol), permettant d'envoyer des données sous la forme d'en-têtes permettant d'identifier par exemple :

Schéma de requête d'un navigateur à un serveur Web

Pour apprendre à utiliser les CGI, il est essentiel de comprendre comment se déroule la communication entre le navigateur et le serveur lors de la demande d'une page web. Pour cela, il est préférable d'avoir des notions sur le protocole HTTP.

communication entre serveur et navigateur

Lorsqu'un navigateur effectue une requête (typiquement par saisie ou clic d'une URL, ou bien par envoi d'un formulaire), les étapes suivantes se déroulent :

  • Les données de requête sont envoyées au serveur sous forme d'en-têtes dans une requête HTTP.
  • Lorsque le serveur reçoit la requête, il analyse les en-têtes HTTP, notamment celui permettant de localiser le fichier demandé.
  • Si le serveur trouve le fichier HTML demandé, il va envoyer au client (le navigateur) un en-tête de réponse valide (généralement Success) et les données créées par l'application.
  • A la réception du document, le navigateur affiche le résultat à l'écran.

Dans le cas d'un script CGI, le schéma est légérement plus compliqué :

communication entre serveur et navigateur

  • Les données de requête sont envoyées au serveur sous forme d'en-têtes de requête HTTP.
  • Lorsque le serveur reçoit la requête, il analyse les en-têtes HTTP, notamment celui permettant de localiser le fichier demandé.
  • Le serveur va ensuite analyser l'extension du fichier, puis exécuter l'application associée à ce type de fichier (l'interpréteur Perl dans le cas d'une extension .pl). Il fournit alors à cette application les en-têtes de la requête HTTP (souvent sous forme de variable d'environnement).
  • L'application va s'exécuter puis fournir des données de sortie (commençant par une formulation d'en-tête de la forme content-type : text/html) au serveur.
  • Le serveur va envoyer au client un en-tête de réponse valide (généralement Success)ainsi que les données créées par l'application.
  • A réception du document, le navigateur affiche le résultat à l'écran.

Réalisé sous la direction de , fondateur de CommentCaMarche.net.

Ce document intitulé «  La communication entre les CGI et le navigateur  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.