Vad är Common Gateway Interface?

Inom datorer kan en gateway vara flera saker, inklusive en nod som fysiskt kopplar samman olika nätverk, konvertera deras protokoll så att de kan kommunicera, eller en funktionell tjänst som tillhandahåller en mellanhand mellan flera system. Gateway-program kan fungera som gateways mellan resurser på serversidan – som databaser – och webben. Common Gateway Interface (CGI) var den första mekanismen som fungerade som ett generiskt gränssnitt mellan servern och dessa server-side gateway-program, och användes av de flesta servrar för att behandla klientförfrågningar som krävde databehandling på serversidan. Det är en standard, såväl som ett gränssnitt.

Common Gateway Interface fungerar i två riktningar. Anta att en användare skickar en förfrågan via en webbläsare, till exempel att skicka ett HTML-formulär med data för att läggas till en e-postlista. HTTP-servern kan bara servera dokument, inte bearbeta data. Så när HTTP (HyperText Transfer Protocol) för data till servern är klar, överför Common Gateway Interface data från servern till gatewayprogrammet som ansluter till databasen. Resultaten av bearbetningen, såsom ett bekräftelsemeddelande, returneras till användaren som färdas på vägen i omvänd riktning: från databasen till gatewayprogrammet via Common Gateway Interface till servern, via HTTP till användarens webbläsare.

Ett Common Gateway Interface-skript är namnet på programvaran som användes för att bearbeta en fråga till en databas. Den hade fördelen av att vara operativsystemagnostisk, vilket innebär att den skulle fungera på en server oavsett vilket operativsystem den körde. Medan CGI användes mycket i början av webben, finns det nu nyare, mer effektiva metoder på serversidan för att bearbeta frågor, och dessa finns nu också. Dessa inkluderar ASP (Active Server Page) och dess nyare version ASP.NET (Active Server Page för dot-net, även känd som ASP+) och JSP® (JavaServer Page), som tillåter kombinationen av HTML (HyperText Markup Language) och Java för att fungera smidigt tillsammans på en enda webbsida, men observera att ASP är gjord av Microsoft® och endast körs på Microsoft® webbservrar.

CGI själv har också utvecklats. FastCGI™, en öppen standard, språkoberoende tillägg av CGI som möjliggör distribuerad datoranvändning, och – till skillnad från CGI – avslutas inte efter att varje begäran är klar, utan fortsätter i väntan på nästa begäran. SCGI (Simple CGI) är ett annat alternativ, både ett protokoll och ett program, placerat i det offentliga området av dess skapare.