FastCGI on Common Gateway Interface (CGI) -laajennuksen laajennus, jonka on kehittänyt Open Market. FastCGI on vapaasti saatavana avoimena standardina. Se korjaa tiettyjä CGI: n puutteita, jotka rajoittavat suorituskykyä.
Toisin kuin CGI, FastCGI ei luo uutta prosessia kullekin pyynnölle, mikä minimoi prosessin luomisen ja tuhoamisen yleiskustannukset aina, kun pyyntö vastaanotetaan. Tämä yleiskustannus voidaan kiertää käyttämällä sovellusohjelmaliitäntöjä (API), kuten Netscape Server Application Programming Interface (NSAPI) tai Internet Server Application Programming Interface (ISAPI), mutta koska nämä ovat omistusoikeuksia, tuetuilla kielillä on lisäopetuskäyrä ja rajoituksia harkittavaksi. Toinen CGI: n puute on se, että tiettyjä uudelleenkäyttötapauksia, kuten yhteyksiä tietokantoihin tai välimuistitekniikoita, ei voida saada. Pyyntöjen käsittely voi olla jopa 30 kertaa nopeampi käyttämällä FastCGI: tä perinteiseen CGI: hen verrattuna.
FastCGI: n avulla useita pyyntöjä voidaan käsitellä yhdellä yhteydellä, joka tunnetaan nimellä multipleksointi. Vaihtoehtoisesti voidaan käyttää useita yhteyksiä. Pyynnöt lähetetään käyttämällä File Transfer Protocol (FTP) -protokollaa tai pistorasioita. Samaa yhteyttä käytetään sitten vastauksen palauttamiseen.
Vaikka yhteys saattaa olla suljettu tässä vaiheessa, verkkopalvelin ja prosessi jatkuvat edelleen. Tämä tarjoaa monia etuja. Se tarkoittaa esimerkiksi sitä, että palvelin ja sovellusprosessi voidaan sulkea tai käynnistää uudelleen erikseen.
FastCGI on alun perin Open Marketin kehittämä ja toteutettu sen verkkopalvelintarjonnassa. Käyttöliittymä voidaan kuitenkin toteuttaa millä tahansa palvelimella, ja se otettiin pian käyttöön useilla muilla alan Web -palvelimilla. FastCGI on erittäin yhteensopiva hajautetun tietojenkäsittelyn kanssa, joten FastCGI -sovellus voi toimia erillisellä palvelimella verkkopalveluun. Tämä tarjoaa kaikki edut, jotka liittyvät järjestelmien saatavuuden parantamiseen, skaalautuvuuden parantamiseen ja järjestelmän turvallisuuden lisäämiseen, koska komponentit on eristetty. FastCGI -etäkäytön avulla hallinnointi vähenee, koska sisäinen verkko pystyy käsittelemään sovellusten ajamisen.
Aivan kuten CGI -sovellus voi tuottaa vastauksen Hypertext Transfer Protocol (HTTP) -pyynnöstä, niin myös FastCGI. Se hoitaa myös tehtäviä, kuten todennuksen tarkistamisen ja tietotyyppien muuntamisen. Nämä tehtävät hoidetaan rooleilla, joita voidaan lisätä ja laajentaa vapaasti.
FastCGI on yksinkertainen ymmärtää ja toimii melkein millä tahansa ohjelmointikielellä. Prosessit ovat erillisiä, joten sovelluskohtaiset ongelmat eivät voi kaataa palvelimia. Kaikki FastCGI -kehyksellä rakennetut sovellukset ovat taaksepäin vanhoilla CGI -palvelimilla. Lisäksi sovelluskirjasto on suunniteltu helpottamaan CGI -sovellusten siirtämistä.