CGI ist eine Common Gateway-Schnittstelle. Wie der Name schon sagt, ist es eine "gemeinsame" Gateway-Schnittstelle für alles. Es ist so trivial und naiv vom Namen. Ich habe das Gefühl, dass ich das verstanden habe und ich fühlte es jedes Mal, wenn ich auf dieses Wort stieß. Aber ehrlich gesagt habe ich nicht. Ich bin immer noch verwirrt.
Ich bin ein PHP-Programmierer mit Erfahrung in der Webentwicklung.
Benutzeranforderung (Client) für Seite ---> Webserver (-> eingebetteter PHP-Interpreter) ----> Serverseitiges (PHP) Skript ---> MySQL Server.
Angenommen, mein PHP-Skript kann Ergebnisse vom MySQL-Server, vom MATLAB-Server und von einem anderen Server abrufen.
Also, jetzt ist PHP Script das CGI? Weil seine Schnittstelle für den zwischen Webserver und allen anderen Servern? Ich weiß es nicht. Manchmal nennen sie CGI, eine Technologie und manchmal nennen sie CGI ein Programm oder einen anderen Server.
Was genau ist CGI?
Was ist die große Sache
/cgi-bin/*.cgi
? Was ist damit los? Ich weiß nicht, wofür diesescgi-bin
Verzeichnis auf dem Server ist. Ich weiß nicht, warum sie * .cgi-Erweiterungen haben.Warum kommt Perl immer in die Quere? CGI & Perl (Sprache). Ich weiß auch nicht, was mit diesen beiden los ist. Fast die ganze Zeit höre ich diese beiden in Kombination "CGI & Perl". Dieses Buch ist ein weiteres großartiges Beispiel für die CGI-Programmierung mit Perl . Warum nicht "CGI-Programmierung mit PHP / JSP / ASP"? Ich habe solche Dinge nie gesehen.
CGI-Programmierung in C verwirrt mich sehr. " in C " ?? Ernsthaft?? Ich weiß nicht was ich sagen soll. Ich bin nur verwirrt. " in C " ?? Das ändert alles. Das Programm muss kompiliert und ausgeführt werden. Dies ändert meine Sicht der Webprogrammierung völlig. Wann kompiliere ich? Wie wird das Programm ausgeführt (da es sich um einen Maschinencode handelt und daher als unabhängiger Prozess ausgeführt werden muss)? Wie kommuniziert es mit dem Webserver? IPC? und Schnittstelle mit allen Servern (in meinem Beispiel MATLAB & MySQL) über Socket-Programmierung? Ich bin verloren!!
Die Leute sagen, dass CGI veraltet ist und nicht mehr verwendet wird. Ist das so? Was ist das neueste Update?
Einmal stieß ich auf eine Situation, in der ich HTTP-PUT-Anforderungszugriff auf den Webserver (Apache HTTPD) gewähren musste. Es ist ein langer Rücken. Soweit ich mich erinnere, habe ich Folgendes getan:
Die Konfigurationsdatei von Apache HTTPD wurde bearbeitet, um den Webserver anzuweisen, alle HTTP-PUT-Anforderungen an einige zu übergeben
put.php
(ich musste dieses PHP-Skript schreiben).Implementieren Sie put.php, um die Anforderung zu bearbeiten (speichern Sie die Datei an dem angegebenen Speicherort).
Die Leute sagten, ich hätte ein CGI-Skript geschrieben. Im Ernst, ich hatte keine Ahnung, wovon sie sprachen.
- Habe ich wirklich CGI Script geschrieben?
Ich hoffe du hast verstanden, was meine Verwirrung ist. (Weil ich selbst nicht weiß, wo ich verwirrt bin). Ich bitte euch, eure Antwort so einfach wie möglich zu halten. Ich kann wirklich keine ausgefallene technische Terminologie verstehen. Zumindest nicht in diesem Fall.
BEARBEITEN:
Ich fand dieses erstaunliche Tutorial "CGI-Programmierung ist einfach!" - CGI-Tutorial , das die Konzepte auf einfachste Weise erklärt. Nach dem Lesen dieses Artikels möchten Sie möglicherweise Erste Schritte mit der CGI-Programmierung in C lesen , um Ihr Verständnis durch tatsächliche Codebeispiele zu ergänzen. Ich habe diese Links zu diesem Tutorial auch zum Wikipedia-Artikel hinzugefügt: http://en.wikipedia.org/wiki/Common_Gateway_Interface