CGI est une interface de passerelle commune. Comme son nom l'indique, il s'agit d'une interface de passerelle «commune» pour tout. C'est si trivial et naïf du nom. Je sens que j'ai compris cela et je l'ai ressenti à chaque fois que j'ai rencontré ce mot. Mais franchement, je ne l'ai pas fait. Je suis encore confus.
Je suis programmeur PHP avec une expérience en développement web.
demande d'utilisateur (client) pour la page ---> serveur Web (-> interpréteur PHP intégré) ----> Script côté serveur (PHP) ---> Serveur MySQL.
Maintenant, disons que mon script PHP peut récupérer les résultats du serveur MySQL et du serveur MATLAB et d'un autre serveur.
Alors maintenant, PHP Script est le CGI? Parce que son interface pour le serveur Web entre tous les autres serveurs? Je ne sais pas. Parfois, ils appellent CGI, une technologie et d'autres fois, ils appellent CGI un programme ou un autre serveur.
Qu'est-ce que CGI exactement?
Quel est le gros problème
/cgi-bin/*.cgi
? Qu'est-ce qui se passe avec ça? Je ne sais pas à quoi sert cecgi-bin
répertoire sur le serveur. Je ne sais pas pourquoi ils ont des extensions * .cgi.Pourquoi Perl fait toujours obstacle. CGI & Perl (langue). Je ne sais pas non plus ce qui se passe avec ces deux-là. Presque tout le temps, je continue d'entendre ces deux en combinaison "CGI & Perl". Ce livre est un autre excellent exemple de programmation CGI avec Perl . Pourquoi pas "Programmation CGI avec PHP / JSP / ASP"? Je n'ai jamais vu de telles choses.
La programmation CGI en C , me confond beaucoup. " en C " ?? Sérieusement?? Je ne sais pas quoi dire. Je suis juste confus. " en C " ?? Cela change tout. Le programme doit être compilé et exécuté. Cela change complètement ma vision de la programmation Web. Quand dois-je compiler? Comment le programme est-il exécuté (car ce sera un code machine, il doit donc s’exécuter en tant que processus indépendant). Comment communique-t-il avec le serveur Web? IPC? et interfacer avec tous les serveurs (dans mon exemple MATLAB & MySQL) en utilisant la programmation de socket? Je suis perdu!!
Les gens disent que CGI est obsolète et n'est plus utilisé. Est-ce vrai? Quelle est la dernière mise à jour?
Une fois, je me suis retrouvé dans une situation où je devais donner accès à la requête HTTP PUT au serveur Web (Apache HTTPD). C'est un long dos. Donc, si je me souviens bien, c'est ce que j'ai fait:
Édité le fichier de configuration d'Apache HTTPD pour dire au serveur Web de passer toutes les requêtes HTTP PUT à certains
put.php
(j'ai dû écrire ce script PHP)Implémentez put.php pour gérer la demande (enregistrez le fichier à l'emplacement mentionné)
Les gens ont dit que j'avais écrit un script CGI. Sérieusement, je n'avais aucune idée de ce dont ils parlaient.
- Ai-je vraiment écrit un script CGI?
J'espère que vous avez compris ma confusion. (Parce que moi-même je ne sais pas où je suis confus). Je vous demande de garder votre réponse aussi simple que possible. Je ne comprends vraiment aucune terminologie technique sophistiquée. Du moins pas dans ce cas.
ÉDITER:
J'ai trouvé ce tutoriel incroyable "La programmation CGI est simple!" - Tutoriel CGI , qui explique les concepts de la manière la plus simple possible. Après avoir lu cet article, vous voudrez peut-être lire Prise en main de la programmation CGI en C pour compléter votre compréhension avec des exemples de code réels. J'ai également ajouté ces liens vers ce tutoriel à l'article de Wikipedia: http://en.wikipedia.org/wiki/Common_Gateway_Interface