Hva er en FastCGI?
FastCGI er en utvidelse av Common Gateway Interface (CGI) som ble utviklet av et nå nedlagt selskap som heter Open Market. FastCGI er fritt tilgjengelig som en åpen standard. Den adresserer visse mangler i CGI som begrenser ytelsen.
I motsetning til CGI oppretter ikke FastCGI en ny prosess for hver forespørsel, og minimerer dermed overhead for prosessskaping og ødeleggelse hver gang en forespørsel mottas. Dette overhead kan omgås ved å bruke Application Program Interfaces (APIs) som Netscape Server Application Programming Interface (NSAPI) eller Internet Server Application Programming Interface (ISAPI), men fordi disse er proprietære, er det en ekstra læringskurve og begrensninger på støttede språk å bli vurdert. En annen mangel ved CGI er det faktum at visse tilfeller for gjenbruk ikke kan oppnås, for eksempel tilkoblinger til databaser eller hurtigbufringsteknikker. Be om håndtering kan være så mye som 30 ganger raskere ved bruk av FastCGI over konvensjonell CGI.
Med FastCGI kan flere forespørsler håndteres over en enkelt tilkobling, som kalles multiplexing. Alternativt kan flere tilkoblinger brukes. Forespørsler sendes ved hjelp av File Transfer Protocol (FTP) eller stikkontakter. Den samme forbindelsen brukes da for å returnere responsen.
Selv om tilkoblingen kan være lukket på dette tidspunktet, fortsetter webserveren og prosessen. Dette gir mange fordeler. For eksempel betyr det at serveren og applikasjonsprosessen kan stenges av eller startes på nytt separat.
FastCGI ble opprinnelig utviklet av Open Market og implementert i webservertilbudet. Grensesnittet kan imidlertid implementeres på hvilken som helst server, og det var snart på plass på en rekke andre nettverksservere i bransjen. FastCGI er svært kompatibel med distribuert databehandling, så en FastCGI-applikasjon kan kjøres på en egen server til nettets server. Dette gir alle fordelene ved å forbedre tilgjengeligheten til systemer, forbedre skalerbarheten og øke systemsikkerheten fordi komponentene er isolert. Ved å bruke eksterne FastCGI, er det mindre administrasjon fordi det interne nettverket kan håndtere driften av applikasjoner.
Akkurat som en CGI-applikasjon kan generere et svar fra en HTTP-forespørsel (Hypertext Transfer Protocol), så kan FastCGI også. Den håndterer også oppgaver som å bekrefte autentisering og konvertering av datatyper. Disse oppgavene håndteres ved hjelp av roller, som kan legges til og utvides fritt.
FastCGI er enkel å forstå og kjører med nesten ethvert programmeringsspråk. Prosesser er isolert, slik at servere ikke kan krasjer av applikasjonsspesifikke problemer. Enhver applikasjon bygget med FastCGI-rammeverket er bakover med gamle servere som kjører CGI. Videre er applikasjonsbiblioteket designet for å gjøre overføringen av CGI-applikasjoner enkel.