Vad är en FastCGI?
FastCGI är en förlängning av Common Gateway Interface (CGI) som utvecklades av ett nu avaktiverat företag som heter Open Market. FastCGI är fritt tillgängligt som en öppen standard. Den tar upp vissa brister i CGI som begränsar prestanda.
Till skillnad från CGI skapar FastCGI inte en ny process för varje begäran, vilket minimerar överhuvudet för processskapande och förstörelse varje gång en begäran tas emot. Denna overhead kan kringgås med användning av applikationsprogramgränssnitt (API: er) som Netscape Server Application Programming Interface (NSAPI) eller Internet Server Application Programming Interface (ISAPI), men eftersom dessa är proprietära finns det en extra inlärningskurva och begränsningar på språk som stöds att betraktas. En annan brist på CGI är det faktum att vissa fall för återanvändning inte kan erhållas, till exempel anslutningar till databaser eller cachingtekniker. Begäran hanterar kan vara så mycket som 30 gånger snabbare med FastCGI jämfört med konventionell CGI.
Med FastCGI kan flera förfrågningar hanteras via en enda anslutning, som kallas multiplexering. Alternativt kan flera anslutningar användas. Begäran överförs med File Transfer Protocol (FTP) eller uttag. Samma anslutning används sedan för att returnera svaret.
Även om anslutningen kan vara stängd vid denna tidpunkt, kvarstår webbservern och processen fortfarande. Detta ger många fördelar. Det betyder till exempel att servern och applikationsprocessen kan stängas av eller startas om separat.
FastCGI utvecklades ursprungligen av Open Market och implementerades i sitt webbserverbjudande. Gränssnittet kan emellertid implementeras på vilken server som helst och det var snart på plats på ett antal andra industrins webbservrar. FastCGI är mycket kompatibelt med distribuerad databehandling, så en FastCGI-applikation kan köras på en separat server till webbservern. Detta erbjuder alla fördelarna med att förbättra tillgängligheten för system, förbättra skalbarheten och öka systemsäkerheten eftersom komponenterna är isolerade. Genom att använda fjärrstyrda FastCGI finns det mindre administration eftersom det interna nätverket kan hantera körning av applikationer.
Precis som en CGI-applikation kan generera ett svar från en HTTP-begäran (Hypertext Transfer Protocol), så kan FastCGI också. Den hanterar också uppgifter som att verifiera autentisering och konvertera datatyper. Dessa uppgifter hanteras med hjälp av roller, som kan läggas till och utvidgas fritt.
FastCGI är enkelt att förstå och kommer att köras med nästan alla programmeringsspråk. Processer är isolerade, så servrar kan inte krascha av applikationsspecifika problem. Alla applikationer byggda med FastCGI-ramverket är bakåt med gamla servrar som kör CGI. Dessutom är applikationsbiblioteket utformat för att göra migreringen av CGI-applikationer enkel.