CGI

Principe

Comme nous l'avons vu, HTTP est un protocole textuel simple. La programmation côté serveur consiste en fait à exécuter du code entre la réception de la requête et la réponse.

Nous avons vu que, dans ce cas, certaines opérations sont suffisamment génériques pour être effectuées à chaque fois, telles que:

  • L'extraction des en-têtes de requête
  • La récupération des paramètres GET et POST
  • La construction des en-têtes de réponse
  • ...

Nous aimerions pouvoir accéder aux éléments de la requête dans une forme spécifique à notre langage de programmation (par exemple, avoir les paramètres GET dans un dictionnaire {}).

Le "pont" entre HTTP et un langage se nomme "CGI".

De plus, le travail de construction de structure représentant les données de la requête et réponse HTTP est déjà fait pour vous.

Ainsi, votre technologie de programmation côté serveur aura accès aux données de la requête, et pourra modifier la réponse à travers une API simplifiée par rapport au protocole HTTP lui-même.

Remarque

Contrairement à HTML, JavaScript ou CSS, le langage côté serveur est un choix arbitraire.

De ce fait, il existe énormément de technologies côté serveur.

Etat des lieux

W3Tech.com fait des statistiques sur l'utilisation des langages côté serveur (quand ils sont connus):

D'après ce dernier, PHP et ASP.NET sont de loin les deux technologies les plus populaires.

Des statistiques sur les tendances au cours du temps sont également disponibles: