|
Architettura ed Evoluzione del World Wide Web | ||||||
|
Common Gateway Interface (CGI)
Se il servizio WWW si limitasse a come navigare su Internet per reperire pagine HTML, l’uso che se ne potrebbe fare non giustificherebbe l’interesse che il Web ha suscitato. Per andare oltre questo livello, è necessario evidenziare come gli standard HTTP e HTML siano una soluzione al problema del trasferimento e presentazione dell’informazione, indipendentemente dal contesto nel quale questa viene generata. Il loro uso, cioè, non è vincolato solo al trasferimento di pagine Web memorizzate su file, ma è possibile utilizzarli all'interno di altre applicazioni. Ad esempio, è possibile pensare ad una applicazione di contabilità che acceda, usando il protocollo HTTP, alle informazioni di database e trasmetta i risultati dell’elaborazione in formato HTML. Figura 32: architettra a tre livelli del Web Si è sentita quindi l’esigenza di richiedere attraverso un link non solo una pagina WEB, ma anche l’esecuzione di programmi, attivati sul server tramite una modalità standard, detta Common Gateway Interface (CGI). Si può pensare a un programma CGI come ad un programma che è in grado di generare dinamicamente una pagina HTML prelevando le informazioni non da disco, ma da altri programmi. Figura 33: architettura CGI Un modo tipico di utilizzare l’interfaccia CGI è quello che si trova nei motori di ricerca, nei quali l'utente imposta le sue richieste al server attraverso una maschera d’immissione dati ("form"). All’attivazione di un link, il browser invia al server la richiesta di un URL relativo all’attivazione del programma di ricerca sul server. Ad esempio, una ricerca in lingua italiana sulla parola chiave "gatti" genera il seguente URL: http://www.lycos.it/cgi-bin/pursuit?query=gatti&lang=itdove:
Ricavate le informazioni, queste vengono inviate in formato HTML al browser, che provvederà poi a visualizzarle. In sostanza il programma CGI restituisce all’utente una pagina Web creata dinamicamente dove sono inserite indicazione circa l’esito della richiesta inoltrata attraverso il server. |