CGI è un'interfaccia gateway comune. Come dice il nome, è un'interfaccia gateway "comune" per tutto. È così banale e ingenuo dal nome. Sento di averlo capito e di averlo sentito ogni volta che ho incontrato questa parola. Francamente, non l'ho fatto. Sono ancora confuso.
Sono un programmatore PHP con esperienza di sviluppo web.
richiesta utente (client) per la pagina ---> webserver (-> interprete PHP incorporato) ----> Script lato server (PHP) ---> MySQL Server.
Ora dì che il mio script PHP può recuperare i risultati dal server MySQL, dal server MATLAB e da altri server.
Quindi, ora PHP Script è il CGI? Perché la sua interfaccia tra server web e tutti gli altri server? Non lo so. A volte chiamano CGI, una tecnologia e altre volte chiamano CGI un programma o qualche altro server.
Che cos'è esattamente il CGI?
Qual è il grosso problema con
/cgi-bin/*.cgi
? Che succede con questo? Non so a cosa serva questacgi-bin
directory sul server. Non so perché abbiano estensioni * .cgi.Perché Perl si mette sempre di mezzo. CGI & Perl (lingua). Inoltre non so cosa succede con questi due. Quasi sempre continuo a sentire questi due in combinazione "CGI & Perl". Questo libro è un altro ottimo esempio di programmazione CGI con Perl . Perché non "Programmazione CGI con PHP / JSP / ASP"? Non ho mai visto cose del genere.
La programmazione CGI in C , mi confonde molto. " in C " ?? Sul serio?? Non so cosa dire. Sono solo confuso. " in C " ?? Questo cambia tutto. Il programma deve essere compilato ed eseguito. Questo cambia completamente la mia visione della programmazione web. Quando compilo? Come viene eseguito il programma (perché sarà un codice macchina, quindi deve essere eseguito come processo indipendente). Come comunica con il web server? IPC? e l'interfacciamento con tutti i server (nel mio esempio MATLAB e MySQL) usando la programmazione socket? Mi sono perso!!
La gente dice che CGI è deprecato e non è più in uso. È così? Qual è l'ultimo aggiornamento?
Una volta, mi sono imbattuto in una situazione in cui dovevo dare alla richiesta HTTP PUT l'accesso al web server (Apache HTTPD). È un lungo ritorno. Quindi, per quanto ricordo questo è quello che ho fatto:
put.php
Ho modificato il file di configurazione di Apache HTTPD per dire al server web di passare tutte le richieste HTTP PUT ad alcuni (ho dovuto scrivere questo script PHP)Implementa put.php per gestire la richiesta (salva il file nella posizione menzionata)
La gente ha detto che ho scritto uno script CGI. Seriamente, non avevo idea di cosa stessero parlando.
- Ho davvero scritto CGI Script?
Spero tu abbia capito qual è la mia confusione. (Perché io stesso non so dove sono confuso). Vi chiedo di mantenere la risposta il più semplice possibile. Non riesco davvero a capire nessuna terminologia tecnica sofisticata. Almeno non in questo caso.
MODIFICARE:
Ho trovato questo fantastico tutorial "La programmazione CGI è semplice!" - Tutorial CGI , che spiega i concetti nel modo più semplice possibile. Dopo aver letto questo articolo, potresti voler leggere Introduzione alla programmazione CGI in C per integrare la tua comprensione con esempi di codice reali. Ho anche aggiunto questi collegamenti a questo tutorial all'articolo di Wikipedia: http://it.wikipedia.org/wiki/Common_Gateway_Interface