Sommaire

CGI (Common Gateway Interface)

CGI est une interface permettant au serveur web d’exécuter des applications de ligne de commande et des scripts, et de présenter le résultat à l’utilisateur (à ne pas confondre avec la Computer-generated Imagery ou effets spéciaux numériques). Le PHP-FPM (PHP FastCGI Process Manager) décrit plus tôt est une variante de CGI, optimisée pour exécuter du code PHP.

Les scripts ou applications à exécuter par le serveur web sont installés dans un répertoire nommé cgi-bin (Common Gateway Interface Binaries). Au lieu de présenter les fichiers de ce répertoire aux visiteurs, le serveur web exécute les scripts ou applications et présente leur résultat (le flux STDOUT) aux visiteurs. Serveur web:cgi-bin

Le format du résultat des applications et scripts concernés doit répondre aux exigences suivantes :

<en-têtes HTTP> 
<ligne blanche> 
<contenu>

Voici un exemple d’un script CGI très petit et simple : Serveur web:script CGI

#!/bin/sh 
 
echo "Content-Type: text/html" 
echo 
echo "<h1>Ça fonctionne !</h1>"

Si ce script est enregistré dans le cgi-bin de www.example.com sous le nom test.sh et que le serveur web a le droit d’exécution, alors l’adresse https://www.example.com/cgi-bin/test.sh affichera une page HTML contenant ...