Common Gateway Interface
Template:Stub informatica Common Gateway Interface (acronimo CGI, in italiano: interfaccia comune, nel senso di standard, per gateway), è una tecnologia standard usata dai web server per interfacciarsi con applicazioni esterne.
Ogni volta che un client richiede al web-server un URL corrispondente ad un documento in puro HTML gli viene restituito un documento statico (come un file di testo); se l'URL corrisponde invece ad un programma CGI, il server lo esegue in tempo reale, generando dinamicamente informazioni.
Un programma (o uno script) CGI può essere scritto in qualsiasi linguaggio di programmazione (C/C++, Perl, PHP, Visual Basic, Tcl/Tk, AppleScript, ecc.), la scelta si basa sul sistema su cui girerà; il Perl è comunque il linguaggio più comunemente utilizzato.
Esempio pratico: visitando una pagina web, il server del sito che la ospita potrebbe aprire un'immagine e scrivere sulla pagina le sue dimensioni.
Siccome un programma CGI è eseguibile, è sostanzialmente come lasciare che il mondo faccia girare un programma nel tuo sistema, che non è la cosa più sicura da fare. Inoltre vi sono alcune precauzioni che necessitano di essere implementate quando si viene ad usare un programma CGI. Probabilmente quella che più riguarda un tipico Web user è il fatto che il programma CGI necessita di essere collocato in una directory speciale, così che il Web server sappia di eseguire un programma piuttosto che mostrarlo sul browser. Questa directory è solitamente sotto controllo del webmaster, proibendo all’utente medio di creare programma CGI. Ci sono altri modi si permettere l’accesso ai CGI scripts, ma sta al webmaster prepararli per l’utente
Collegamenti esterni
- (EN) Specifiche CGI 1.1