FastCGI je razširitev vmesnika Common Gateway Interface (CGI), ki ga je razvilo zdaj propadlo podjetje Open Market. FastCGI je prosto dostopen kot odprt standard. Odpravlja nekatere pomanjkljivosti v CGI, ki omejujejo zmogljivost.
Za razliko od CGI, FastCGI ne ustvari novega procesa za vsako zahtevo, s čimer se zmanjšajo stroški ustvarjanja in uničenja procesa vsakič, ko je zahteva prejet. Te obremenitve se je mogoče izogniti z uporabo vmesnikov aplikacijskih programov (API), kot sta Netscape Server Application Programming Interface (NSAPI) ali Internet Server Application Programming Interface (ISAPI), a ker so ti lastniški, obstaja dodatna krivulja učenja in omejitve v podprtih jezikih. upoštevati. Druga pomanjkljivost CGI je dejstvo, da nekaterih primerov za ponovno uporabo ni mogoče pridobiti, kot so povezave z bazami podatkov ali tehnike predpomnjenja. Obravnava zahtev je lahko do 30-krat hitrejša z uporabo FastCGI v primerjavi z običajnim CGI.
S FastCGI je mogoče obravnavati več zahtev prek ene povezave, ki je znana kot multipleksiranje. Alternativno se lahko uporabi več povezav. Zahteve se prenašajo s protokolom za prenos datotek (FTP) ali vtičnicami. Ista povezava se nato uporabi za vrnitev odgovora.
Čeprav je povezava morda na tej točki zaprta, spletni strežnik in proces še vedno obstajata. To ponuja številne prednosti. To na primer pomeni, da je mogoče strežnik in aplikacijski proces ločeno zapreti ali znova zagnati.
FastCGI je prvotno razvil Open Market in implementiral v svojo ponudbo spletnih strežnikov. Vmesnik pa je mogoče implementirati na kateri koli strežnik, kmalu pa je bil uveljavljen na številnih drugih spletnih strežnikih v industriji. FastCGI je zelo združljiv z porazdeljenim računalništvom, zato se lahko aplikacija FastCGI izvaja na ločenem strežniku od spletnega strežnika. To ponuja vse prednosti povečanja razpoložljivosti sistemov, izboljšanja razširljivosti in povečanja varnosti sistema, ker so komponente izolirane. Z uporabo oddaljenega FastCGI je manj administracije, saj lahko notranje omrežje upravlja z izvajanjem aplikacij.
Tako kot lahko aplikacija CGI ustvari odgovor na zahtevo protokola za prenos hiperteksta (HTTP), lahko tudi FastCGI. Opravlja tudi naloge, kot sta preverjanje pristnosti in pretvorba podatkovnih tipov. Te naloge se izvajajo z vlogami, ki jih je mogoče prosto dodajati in razširiti.
FastCGI je preprost za razumevanje in se bo izvajal s skoraj vsakim programskim jezikom. Procesi so izolirani, zato se strežniki ne morejo zrušiti zaradi težav, specifičnih za aplikacijo. Vsaka aplikacija, zgrajena z okvirom FastCGI, je zaostala s starimi strežniki, ki izvajajo CGI. Poleg tega je knjižnica aplikacij zasnovana tako, da olajša migracijo aplikacij CGI.