Hva er en FastCGI?

April 30  by Eliza

FastCGI er en forlengelse av Common Gateway Interface (CGI) som ble utviklet av en nå nedlagte selskap kalt Open Market. FastCGI er fritt tilgjengelig som en åpen standard. Det løser visse mangler i CGI som begrenser ytelsen.

I motsetning til CGI, betyr FastCGI ikke opprette en ny prosess for hver forespørsel, og dermed minimere overhead av prosessen skapelse og ødeleggelse hver gang en anmodning er mottatt. Dette overhead kan omgås ved hjelp av Application Program Interface (API) som Netscape Server Application Programming Interface (NSAPI) eller Internet Server Application Programming Interface (ISAPI), men fordi disse er proprietær, er det en ekstra læringskurve og begrensninger i støttede språk som skal behandles. En annen begrensning ved CGI er det faktum at visse saker for gjenbruk ikke kan oppnås, som for eksempel tilkoblinger til databaser eller caching teknikker. Forespørsel håndtering kan være så mye som 30 ganger raskere med FastCGI over konvensjonelle CGI.

Med FastCGI, kan flere forespørsler behandles over en enkelt tilkobling, som er kjent som multipleksing. Alternativt kan flere forbindelser benyttes. Forespørsler overføres ved hjelp av File Transfer Protocol (FTP) eller stikkontakter. Den samme forbindelse blir så brukt til å returnere respons.

Selv om forbindelsen kan bli stengt på dette punktet, webserveren og prosessen fortsatt vedvarer. Dette gir mange fordeler. For eksempel betyr det at serveren og søknadsprosessen kan slå av eller startes på nytt separat.

FastCGI ble opprinnelig utviklet av Open Market og gjennomføres i sin webserver tilbud. Grensesnittet kan implementeres på en server, imidlertid, og det var snart på plass på en rekke andre industri webservere. FastCGI er svært kompatibel med distribuert databehandling, så en FastCGI programmet kan kjøres på en egen server til nettet tjene. Dette tilbyr alle fordelene ved å øke tilgjengeligheten av systemer, for å forbedre skalerbarhet og for å øke systemsikkerheten fordi komponentene er isolert. Ved å bruke fjern FastCGI, er det mindre administrasjon fordi det interne nettverket kan håndtere driften av applikasjoner.

Akkurat som en CGI-programmet kan generere et svar fra en Hypertext Transfer Protocol (HTTP) anmodning, så kan også FastCGI. Den håndterer også oppgaver som kontroll autentisering og konvertering av datatyper. Disse oppgavene blir håndtert ved hjelp av roller, som kan legges og utvidet fritt.

FastCGI er enkel å forstå, og vil kjøre med nesten alle programmeringsspråk. Prosesser er isolert, slik at servere kan ikke krasjet med applikasjonsspesifikke problemstillinger. Enhver applikasjon bygget med FastCGI rammeverket er bakover med gamle servere som kjører CGI. Videre er anvendelsen av bibliotek konstruert for å gjøre overføringen av CGI enkle applikasjoner.