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
Utilizzo
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
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
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
- ^ 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
- CGI: Common Gateway Interface (JPG), in MCmicrocomputer, n. 164, Roma, Technimedia, luglio/agosto 1996, pp. 250-252, ISSN 1123-2714 (WC · ACNP).
Altri progetti
Altri progetti
- Wikimedia Commons
Wikimedia Commons contiene immagini o altri file su Common Gateway Interface
Collegamenti esterni
- 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).
V · D · M | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Lato server |
| ||||||||||||
Lato client |
| ||||||||||||
Argomenti | Web statico · Web dinamico · Open Web Platform · Rich Internet application · Applicazione web |
Controllo di autorità | LCCN (EN) sh95010581 · GND (DE) 4435301-7 · BNF (FR) cb12552998v (data) · J9U (EN, HE) 987007532433405171 |
---|
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Applications-internet.svg/25px-Applications-internet.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Crystal_128_displayphone.png/24px-Crystal_128_displayphone.png)