Wat is de Common Gateway-interface?
Op het gebied van computers kan een gateway verschillende dingen zijn, waaronder een knooppunt die ongelijksoortige netwerken fysiek verbindt, hun protocollen omzetten zodat ze kunnen communiceren, of een functionele service die een intermediair tussen meerdere systemen biedt. Gateway-programma's kunnen fungeren als gateways tussen server-side bronnen - zoals databases - en het web. De Common Gateway Interface (CGI) was het initiële mechanisme dat diende als een generieke interface tussen de server en deze server-side gateway-programma's, en werd door de meeste servers gebruikt om clientaanvragen te verwerken waarvoor gegevensverwerking op de server vereist was. Het is een standaard, evenals een interface.
De Common Gateway Interface werkt in twee richtingen. Stel dat een gebruiker een verzoek verzendt via een webbrowser, zoals het indienen van een HTML-formulier met gegevens om te worden toegevoegd aan een mailinglijst. De HTTP-server kan alleen documenten serveren, niet de gegevens verwerken. Dus zodra het HTTP (HyperText Transfer Protocol) van gegevens naar de server is voltooid, brengt de Common Gateway Interface de gegevens van de server over naar het gateway-programma dat verbinding maakt met de database. De resultaten van de verwerking, zoals een bevestigingsbericht, worden teruggestuurd naar de gebruiker die het omgekeerde pad volgt: van de database naar het gateway-programma via de Common Gateway Interface naar de server, via HTTP naar de webbrowser van de gebruiker.
Een Common Gateway Interface-script is de naam van het softwareprogramma dat werd gebruikt om een query naar een database te verwerken. Het had het voordeel dat het besturingssysteem agnostisch was, wat betekent dat het op een server zou werken, ongeacht welk besturingssysteem het gebruikte. Hoewel CGI in de begindagen van het web veel werd gebruikt, zijn er nu nieuwere, efficiëntere server-side methoden voor het verwerken van query's, en deze worden nu ook gevonden. Deze omvatten ASP (Active Server Page) en de nieuwere versie ASP.NET (Active Server Page voor dot-net, ook bekend als ASP +) en JSP® (JavaServer Page), die de combinatie van HTML (HyperText Markup Language) en Java mogelijk maakt om soepel samen te werken op een enkele webpagina, maar merk op dat ASP wordt gemaakt door Microsoft® en alleen op Microsoft®-webservers wordt uitgevoerd.
CGI zelf heeft ook ontwikkeld. FastCGI ™, een open standaard, taalonafhankelijke uitbreiding van CGI die gedistribueerde computing mogelijk maakt en - in tegenstelling tot CGI - niet wordt afgesloten nadat elk verzoek is voltooid, maar blijft bestaan, wachtend op het volgende verzoek. SCGI (Simple CGI) is een ander alternatief, zowel een protocol als een programma, door de maker in het publieke domein geplaatst.