Che cos’è l’interfaccia gateway comune?

Nel regno dei computer, un gateway può essere diverse cose, incluso un nodo che collega fisicamente reti disparate, convertendo i loro protocolli in modo che possano comunicare, o un servizio funzionale che fornisce un intermediario tra più sistemi. I programmi gateway possono fungere da gateway tra le risorse lato server, come i database, e il Web. La Common Gateway Interface (CGI) era il meccanismo iniziale che fungeva da interfaccia generica tra il server e questi programmi gateway lato server ed era utilizzato dalla maggior parte dei server per elaborare le richieste client che richiedevano l’elaborazione dei dati lato server. È uno standard, oltre che un’interfaccia.

L’interfaccia gateway comune funziona in due direzioni. Supponiamo che un utente invii una richiesta tramite un browser Web, ad esempio inviando un modulo HTML con dati per essere aggiunto a una mailing list. Il server HTTP può servire solo documenti, non elaborare i dati. Quindi, una volta completato l’HTTP (HyperText Transfer Protocol) dei dati al server, la Common Gateway Interface trasmette i dati dal server al programma gateway che si connette al database. I risultati dell’elaborazione, come un messaggio di conferma, vengono restituiti all’utente viaggiando sul percorso inverso: dal database al programma gateway tramite Common Gateway Interface al server, tramite HTTP al browser web dell’utente.

Uno script Common Gateway Interface è il nome del programma software utilizzato per elaborare una query su un database. Aveva il vantaggio di essere indipendente dal sistema operativo, il che significa che avrebbe funzionato su un server indipendentemente dal sistema operativo in esecuzione. Sebbene la CGI fosse molto utilizzata agli albori del web, ora ci sono metodi più nuovi ed efficienti sul lato server per l’elaborazione delle query, e ora si trovano anche questi. Questi includono ASP (Active Server Page) e la sua versione più recente ASP.NET (Active Server Page per dot-net, noto anche come ASP+) e JSP® (JavaServer Page), che consente la combinazione di HTML (HyperText Markup Language) e Java per lavorare senza problemi su una singola pagina web, ma tieni presente che ASP è realizzato da Microsoft® e funziona solo su server web Microsoft®.

Anche la stessa CGI si è sviluppata. FastCGI™, un’estensione di CGI a standard aperto e indipendente dal linguaggio che consente il calcolo distribuito e, a differenza di CGI, non esce dopo che ogni richiesta è stata completata, ma persiste, in attesa della richiesta successiva. SCGI (Simple CGI) è un’altra alternativa, sia un protocollo che un programma, reso di pubblico dominio dal suo creatore.