Qual è la Common Gateway Interface?
Nel regno dei computer, un gateway può essere costituito da diverse cose, tra cui 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. Common Gateway Interface (CGI) era il meccanismo iniziale che fungeva da interfaccia generica tra il server e questi programmi gateway lato server e veniva 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 l'invio di un modulo HTML con i 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, Common Gateway Interface trasmette i dati dal server al programma gateway che si collega al database. I risultati dell'elaborazione, come ad esempio un messaggio di conferma, vengono restituiti all'utente che percorre il percorso al contrario: dal database al programma gateway attraverso Common Gateway Interface fino al server, tramite HTTP al browser Web dell'utente.
Uno script Common Gateway Interface è il nome del programma software utilizzato per elaborare una query in 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. Mentre CGI era molto usato nei primi giorni del web, ora ci sono metodi più nuovi ed efficienti sul lato server per l'elaborazione delle query, e ora anche questi sono stati trovati. Questi includono ASP (Active Server Page) e la sua versione più recente ASP.NET (Active Server Page per dot-net, nota anche come ASP +) e JSP® (JavaServer Page), che consente la combinazione di HTML (HyperText Markup Language) e Java per lavorare senza problemi insieme su un'unica pagina Web, ma si noti che ASP è realizzato da Microsoft® e funziona solo su server Web Microsoft®.
Anche lo stesso CGI si è sviluppato. FastCGI ™, un'estensione standard aperta e indipendente dalla lingua di CGI che consente l'elaborazione distribuita e - a differenza di CGI - non si chiude al termine di ogni richiesta, ma persiste, in attesa della richiesta successiva. SCGI (Simple CGI) è un'altra alternativa, sia un protocollo che un programma, messo di dominio pubblico dal suo creatore.