Common Gateway Interface

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

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]

  1. ^ Copia archiviata, su telemat.det.unifi.it. URL consultato il 19 dicembre 2014 (archiviato dall'url originale il 19 dicembre 2014).
  2. ^ rfc3875 – https://www.ietf.org/rfc/rfc3875.txt

Bibliografia[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

  • (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 (ENsh95010581