Uno script CGI viene invocato da un server HTTP, tipicamente per
elaborare un input inserito da un utente attraverso elementi HTML
<FORM>
o <ISINDEX>
.
Molto spesso, gli script CGI risiedono nella directory speciale del server chiamata cgi-bin. Il server HTTP inserisce ogni sorta di informazioni circa la richiesta (come il nome dell'host cliente, l'URL richiesta, la stringa di ricerca, e parecchie altre cose) nell'ambiente di shell dello script, esegue lo script e restituisce il risultato dello script al cliente.
L'input dello script è connesso anche al cliente, e qualche volta le informazioni della form vengono lette attraverso questa via; altre volte i dati della form passano attraverso parte della URL, con le ``query string''. Il modulo è costruito per prestare attenzione ai differenti casi e fornisce una semplice interfaccia per lo scripting in Python. Fornisce anche un certo numero di utilità che aiutano nell'analisi ed il debugging degli script, e l'aggiunta più recente è il supporto per l'upload del file da una form (se il browser lo supporta -- Grail 3.0 e Netscape 2.0 lo fanno).
Il risultato dello script CGI consiste di due sezioni, separate da una riga vuota. La prima sezione contiene un certo numero di header che informano il cliente circa il tipo di dati che seguono. Il codice Python per generare una sezione minimale di header è simile a questa:
print "Content-Type: text/html" # segue HTML print # riga vuota, fine degli header
La seconda sezione è tipicamente HTML, che consente al software del cliente di mostrare facilmente il testo formattato con gli header, immagini in linea, etc. Segue del codice Python che stampa un semplice pezzo di HTML:
print "<TITLE>Output di uno script CGI</TITLE>" print "<H1>Questo è il mio primo script CGI</H1>" print "Ciao, mondo!"
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.