Maison > Article > développement back-end > Quelle est la différence entre fastcgi et cgi ?
Le contenu de cet article concerne la différence entre fastcgi et cgi ? Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Actuellement, personne n'utilise CGI. Il est dangereux et a des performances extrêmement faibles. De plus en plus de personnes utilisent des extensions Web intégrées et fastCGI. Par exemple, ISAPI de Microsoft iis, le module php d'Apache et php-cgi de nginx. CGI, les modules intégrés et fastcgi sont les trois plus performants, et fast_cgi est le plus rapide, mais nécessite des processus supplémentaires. Analysons et voyons la différence entre CGI et FASTCGI
Introduction à la méthode CGI :
CGI était davantage utilisé en 2000 ou avant. Dans le passé, les serveurs Web étaient généralement utilisés. , seules les requêtes statiques sont traitées. Que dois-je faire si je rencontre une requête dynamique ? Le serveur Web lancera alors un nouveau processus pour exécuter un programme C externe (ou un script Perl...) basé sur le contenu de cette requête. Ce processus renverra les données traitées au serveur Web, et enfin le serveur Web les enverra. le contenu à l'utilisateur, le processus qui vient d'être bifurqué s'est également terminé. Si l'utilisateur demande à modifier le script dynamique la prochaine fois, le serveur Web lancera à nouveau un nouveau processus et le cycle continuera.
Introduction aux modules Web intégrés :
Plus tard, une méthode plus avancée est apparue, le serveur Web peut avoir un interpréteur Perl ou php intégré. En d’autres termes, ces interpréteurs sont transformés en modules, et le serveur web démarrera ces interpréteurs à son démarrage. Lorsque de nouvelles requêtes dynamiques arrivent, le serveur Web analyse lui-même ces scripts Perl ou PHP, éliminant ainsi le besoin de relancer un processus et améliorant l'efficacité.
Introduction à la méthode fastcgi :
La méthode fastcgi est que lorsque le serveur Web reçoit une requête, il ne relancera pas un processus (car ce processus est démarré avant que le serveur Web ne soit allumé lorsque la requête est activée et ne se ferme pas), le serveur Web transmet directement le contenu à ce processus (communication inter-processus, mais fastcgi utilise d'autres méthodes, communication TCP), ce processus traite la requête après l'avoir reçu, et renvoie le résultat au serveur web, et enfin attendre que la prochaine requête arrive au lieu de sortir
Tableau des différences entre fastcgi et cgi :<.>Par exemple : Le serveur contient actuellement 100 000 mots. Le client enverra une chaîne à chaque fois et demandera combien de mots sont préfixés par cette chaîne. Ensuite, vous pouvez écrire un programme qui construira un arbre de trie, puis vous pourrez rechercher directement le trie chaque fois que l'utilisateur le demande. Mais si nous utilisons cgi, le trie disparaîtra après cette requête. Au prochain démarrage du processus, un nouvel arbre de trie devra être créé. C'est trop inefficace. Avec fastcgi, l'arbre trie de cette leçon est établi au démarrage du processus, et vous pouvez directement interroger le préfixe spécifié sur l'arbre trie ultérieurement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!