1.0. Fonctions du programme CGI :
Tout d’abord, qu’est-ce que Common Gateway Interface (CGI) ? CGI est une norme utilisée pour définir les méthodes de communication entre les serveurs WEB et les programmes externes, afin que les programmes externes puissent générer du HTML, des images ou d'autres contenus, et que le serveur gère le HTML, les images ou tout autre contenu qui n'est pas généré par des programmes externes. c'est pareil. Par conséquent, les programmes CGI vous permettent de générer non seulement du contenu statique, mais également du contenu dynamique. La raison pour laquelle nous utilisons CGI est qu’il s’agit d’un standard bien défini et largement pris en charge. Bien que Java, ActiveX, etc. puissent compléter les fonctions des programmes CGI, tous les navigateurs ne les prennent pas en charge. Au contraire, tous les navigateurs supportent le CGI, tels que : Lynx, IE, Netscape, etc.
Cependant, comme d’autres technologies, CGI a ses limites. Dans cette section, je décrirai les fonctions, les avantages et les inconvénients des programmes CGI.
1.1. Fonction CGI
Il existe de nombreuses tâches pour lesquelles CGI est la meilleure et la seule option, et ces tâches peuvent être divisées en trois catégories : tâches débutants, tâches intermédiaires et tâches avancées. Les tâches élémentaires sont des tâches qui nécessitent peu de programmation, telles que :
compteur de texte
Programme pour générer du HTML simple
Programmes de moins de 50 lignes écrits en Perl, Shell Script, C ou C++
Il y a au moins trois avantages à utiliser CGI pour écrire de telles tâches : premièrement, CGI s'exécute le plus rapidement, tandis que Java est trop cher deuxièmement, le standard CGI est le plus compatible avec les navigateurs actuels, ce qui a été mentionné précédemment, les ressources CGI ; sont abondants et vous pouvez trouver des milliers de codes CGI sur Internet.
Les tâches intermédiaires incluent le mappage d'images et d'autres tâches de programmation légèrement plus complexes. Au niveau intermédiaire, il y a peu de différence dans la facilité d’écriture de programmes en CGI et Java.
Ces tâches comprennent :
mappage d'images
Script CGI pour générer une page HTML complète
animation
De manière caractéristique, pour les tâches avancées, CGI est beaucoup plus simple que la programmation en Java. Ces tâches comprennent :
Opérations de base de données back-end
moteur de recherche
Plusieurs pages dynamiques
Parmi elles, les opérations back-end de bases de données (applications qui accèdent aux bases de données) reflètent la supériorité de CGI. CGI a une certaine histoire, dans laquelle de nombreuses fonctions utiles ont été réalisées par d'autres dans la bibliothèque CGI ; en même temps, de nombreuses grandes entreprises ont fourni du code source créé avec CGI ; Java est un langage de programmation et CGI est la spécification fonctionnelle du programme de passerelle. S'il y a des changements majeurs dans Java, vous devez réécrire l'intégralité du programme ; et s'il y a des changements majeurs dans CGI, il vous suffit de mettre à niveau le programme de la bibliothèque CGI.
Cependant, CGI présente des limites dans certains domaines.
1.2. Limites du CGI
En termes de mappage d'images et d'animation, les programmes CGI ne sont pas aussi faciles à développer que les programmes Java. Maintenant que Java devient de plus en plus populaire, les programmes CGI deviennent de plus en plus adaptés à l'écriture de programmes courts et complexes et d'applications de bases de données.
1.3. Fonctions du programme CGI
La plus grande caractéristique d'un programme CGI est qu'il peut être compilé dans n'importe quel langage et exécuté sur n'importe quelle plateforme, à condition qu'il soit conforme aux spécifications CGI. Le tableau suivant est une comparaison :
TâcheCGI+HTML HTML
Traiter le formulaireOui Non
Créer du contenu non statique sur des pages WEBOui Non
Traiter les fichiers image d'image Oui Oui
Rechercher Oui Non dans les pages et documents WEB
Créer un formulaireOui Oui
Créer des documents indépendants de la plateforme Oui Oui
Créer des applications interactives telles que des salons de discussion Oui Non
Génération dynamique de page Oui Non
Documents découpés selon les besoins de l'utilisateur Oui Non
Ensuite, nous terminons cette conférence par une série de programmes « Hello World » :
Perl :
Exiger "cgi-lib.pl" ;
Imprimer et en-tête d'impression ;
imprimer " ";
imprimer « Bonjour tout le monde » ;
imprimer &PrintEnv;
sortie;
Ce fichier est stocké dans le répertoire C:HTTPDCGI-BIN et s'appelle 2_1.pl. Appelez le navigateur en utilisant l'adresse http://localhost/cgi-bin/2_1.pl. Notez qu'OmniHTTPD devrait être en cours d'exécution à ce moment-là. Si tout se passe bien, vous pouvez voir "Hello World" et les variables d'environnement dans votre navigateur.
C : #inclure
#include "html-lib.h"
#include "cgi-lib.h"
int principal()
{
html_header();
html_begin("Test CGI");
h1("Programme CGI");
printf(" ");
h2("Variables d'environnement CGI");
print_cgi_env();
html_end();
renvoie 0 ;
Après compilation, copiez le fichier exécutable dans C:HTTPDCGI-BIN, renommez-le en 2_1.cgi et appelez-le avec l'adresse http://localhost/cgi-bin/2_1.cgi.