Common Gateway Interface
![Il logo ufficiale CGI dall'annuncio delle specifiche](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Common_Gateway_Interface_logo.svg/220px-Common_Gateway_Interface_logo.svg.png)
In informatica Common Gateway Interface (sigla CGI, in italiano "interfaccia comune", nel senso di standard, "per gateway") è una tecnologia standard usata dai web server per interfacciarsi con applicazioni esterne generando contenuti web dinamici.
Ogni volta che un client richiede al web server un URL corrispondente a un documento in puro HTML, gli viene restituito un documento statico (come un file di testo); se l'URL corrisponde invece a un programma CGI, il server lo esegue in tempo reale, generando dinamicamente informazioni per l'utente.
Descrizione
[modifica | modifica wikitesto]Utilizzo
[modifica | modifica wikitesto]Il CGI è la prima forma di elaborazione lato server implementata: quando a un web server arriva la richiesta di un documento CGI (solitamente con estensione .cgi, .exe o .pl) il server esegue il programma richiesto e al termine invia al web browser l'output del programma. Il file CGI è un semplice programma già compilato (codice oggetto) e la risposta viene acquisita attraverso standard output. L'acquisizione dei parametri può avvenire attraverso variabili d'ambiente, passaggio di parametri sulla riga di comando o lo standard input a seconda della mole di dati e delle scelte del programmatore[1].
CGI è attualmente usato solo con il protocollo HTTP anche se in futuro potrebbe essere esteso ad altri protocolli. La directory predefinita degli script CGI è /cgi-bin/ su sistemi IIS, anche se a volte è preferibile modificarla, per evitare i frequenti attacchi dai bot sui file in quella cartella.
Linguaggi
[modifica | modifica wikitesto]I linguaggi di programmazione usati sono generalmente C/C++ e Perl. Alcuni applicativi utilizzano la tecnologia FastCGI per introdurre nuovi linguaggi di scripting, interpretati e non compilati, come ad esempio PHP. L'altra possibilità è utilizzare librerie, ma variano in base al server web e al sistema operativo utilizzato, diminuendo così la portabilità del software.
Storia
[modifica | modifica wikitesto]CGI venne implementato nel 1993 quando il World Wide Web era agli esordi, inizialmente per l'utilizzo con le mailing list. Gli autori dell'interfaccia e della RFC furono sviluppatori dell'Apache Software Foundation: David Robinson e Ken Coar[2].
La normativa di riferimento è la RFC3875.
Note
[modifica | modifica wikitesto]- ^ Copia archiviata, su telemat.det.unifi.it. URL consultato il 19 dicembre 2014 (archiviato dall'url originale il 19 dicembre 2014).
- ^ rfc3875 – https://www.ietf.org/rfc/rfc3875.txt
Bibliografia
[modifica | modifica wikitesto]- CGI: Common Gateway Interface (JPG), in MCmicrocomputer, n. 164, Roma, Technimedia, luglio/agosto 1996, pp. 250-252, ISSN 1123-2714 .
Altri progetti
[modifica | modifica wikitesto]Wikimedia Commons contiene immagini o altri file su Common Gateway Interface
Collegamenti esterni
[modifica | modifica wikitesto]- CGI, su sapere.it, De Agostini.
- (EN) common gateway interface, su Enciclopedia Britannica, Encyclopædia Britannica, Inc.
- (EN) Opere riguardanti CGI (Computer network protocol), su Open Library, Internet Archive.
- (EN) Denis Howe, Common Gateway Interface, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL
- (EN) standard CGI su w3.org.
- (EN) Specifiche CGI 1.1, su hoohoo.ncsa.uiuc.edu. URL consultato il 3 ottobre 2002 (archiviato dall'url originale il 3 ottobre 2002).
Controllo di autorità | LCCN (EN) sh95010581 · GND (DE) 4435301-7 · BNF (FR) cb12552998v (data) · J9U (EN, HE) 987007532433405171 |
---|