CGI INTRODUZIONE

Il significato di CGI è Common Gateway Interface. Erroneamente CGI può essere definito un linguaggio di programmazione ma in realtà è un metodo attraverso cui è possibile l'interazione tra web-client e server.
I file CGI non sono necessariamente degli script ma sono spesso binari compilati da programmi scritti in C. Per scrivere gli script CGI è possibile utilizzare qualsiasi linguaggio di programmazione supportato dal server dove viene eseguito.
I linguaggi usati sono C, C++, script shell, Python ed il più utilizzato PERL.

I CGI vengono caricati ed eseguiti ogni qualvolta il server ne riceve la richiesta ed attraverso l'enviroment settato dal server e dall'URL è in grado di estrapolare tutte le informazioni necessarie per la sua funzionalità  
Di seguito è riportato parte dell'enviromet settato da Apache:

SERVER_NAME
Il nome dell' host (o l' indirizzo IP) dove sta girando lo script

SERVER_SOFTWARE
Il software del server usato. Esempi: CERN/3.0 o NCSA/1.3

GATEWAY_INTERFACE
La versione CGI del server

SERVER_PROTOCOL
La versione del protocollo HTTP usato. Dovrebbe essere CGI/1.1

SERVER_PORT
La porta TCP alla quale il server e' collegato. Di solito questo valore e' 80

REQUEST_METHOD
Il metodo usato: GET, POST, HEAD

HTTP_ACCEPT
L' elenco dei Content-type che il browser e' in grado di gestire

HTTP_USER_AGENT
Il nome del browser che ha inviato le informazioni. Questa variabile di
solito contiene il nome del browser, la sua versione ed altre informazioni come la piattaforma usata

HTTP_REFERER
L' URL del documento che contiene la form

PATH_INFO
L' URL ed informazioni aggiuntive inviate dal browser quando viene usato
il metodo GET

PATH_TRANSLATED
Il path reale del sistema contenuto all' interno della variabile

PATH_INFO
L' URL ed informazioni aggiuntive inviate dal browser quando viene usato il metodo GET

SCRIPT_NAME
Il path di esecuzione dello script ed il nome

QUERY_STRING
Informazioni inviate tramite il metodo GET. In altre parole tutte le
informazioni inviate dopo il simbolo '?' all' interno dell' URL

REMOTE_HOST
Il nome logico dell' host che ha effettuato la richiesta

REMOTE_ADDR
L'IP dell' host che ha effettuato la richiesta

REMOTE_USER
Il nome dell' utente che ha inviato la richiesta (quando e' disponibile una forma di autenticazione)

REMOTE_IDENT
Il nome del server che ha inviato la richiesta (quando e' disponibile il
protocollo ident)

CONTENT_TYPE
Quando e' usato il metodo POST, il suo valore e':
'application/x-www-form-urlencoded'. Quando viene inviato un file, il
suo valore e': 'multipart/form-data'

CONTENT_LENGTH
Quando e' usato il metodo POST, il suo valore definisce la dimensione del canale di input. In altre parole il numero di bytes inviati

Privacy Policy