Kas yra FastCGI?

„FastCGI“ yra „Common Gateway Interface“ (CGI) plėtinys, kurį sukūrė jau nebeegzistuojanti įmonė „Open Market“. FastCGI yra laisvai prieinamas kaip atviras standartas. Jis pašalina tam tikrus CGI trūkumus, kurie riboja našumą.

Skirtingai nei CGI, FastCGI nekuria naujo proceso kiekvienai užklausai, taip sumažinant proceso kūrimo ir sunaikinimo išlaidas kiekvieną kartą, kai gaunama užklausa. Šias papildomas išlaidas galima apeiti naudojant taikomųjų programų sąsajas (API), pvz., Netscape serverio taikomųjų programų sąsają (NSAPI) arba interneto serverio taikomųjų programų sąsają (ISAPI), tačiau kadangi jos yra patentuotos, palaikomose kalbose yra papildoma mokymosi kreivė ir apribojimai. būti svarstomam. Kitas CGI trūkumas yra tai, kad negalima gauti tam tikrų pakartotinio naudojimo atvejų, pavyzdžiui, prisijungimo prie duomenų bazių arba talpyklos technikos. Naudojant FastCGI užklausų tvarkymas gali būti net 30 kartų greitesnis, palyginti su įprastu CGI.

Naudojant FastCGI kelias užklausas galima apdoroti vienu ryšiu, kuris vadinamas multipleksavimu. Arba galima naudoti kelias jungtis. Užklausos perduodamos naudojant failų perdavimo protokolą (FTP) arba lizdus. Tada ta pati jungtis naudojama atsakymui grąžinti.

Nors šiuo metu ryšys gali būti uždarytas, žiniatinklio serveris ir procesas vis tiek išlieka. Tai suteikia daug privalumų. Pavyzdžiui, tai reiškia, kad serverio ir taikomosios programos procesą galima išjungti arba paleisti iš naujo atskirai.

FastCGI iš pradžių buvo sukurta Open Market ir įdiegta jos žiniatinklio serverio pasiūlyme. Tačiau sąsaja gali būti įdiegta bet kuriame serveryje ir netrukus ji buvo įdiegta daugelyje kitų pramonės žiniatinklio serverių. „FastCGI“ yra labai suderinamas su paskirstytu skaičiavimu, todėl „FastCGI“ programa gali veikti atskirame žiniatinklio tarnybos serveryje. Tai suteikia visus privalumus, nes padidėja sistemų prieinamumas, pagerinamas mastelio keitimas ir padidinamas sistemos saugumas, nes komponentai yra izoliuoti. Naudojant nuotolinį FastCGI, administravimas yra mažesnis, nes vidinis tinklas gali valdyti programas.

Kaip CGI programa gali sugeneruoti atsakymą iš hiperteksto perdavimo protokolo (HTTP) užklausos, taip ir „FastCGI“. Ji taip pat atlieka tokias užduotis kaip autentifikavimo tikrinimas ir duomenų tipų konvertavimas. Šios užduotys atliekamos naudojant vaidmenis, kuriuos galima laisvai pridėti ir išplėsti.
FastCGI yra paprasta suprasti ir veiks su beveik bet kuria programavimo kalba. Procesai yra izoliuoti, todėl serveriai negali sugesti dėl konkrečios programos problemų. Bet kuri programa, sukurta naudojant „FastCGI“ sistemą, yra ankstesnė, kai senuose serveriuose veikia CGI. Be to, programų biblioteka sukurta taip, kad CGI programų perkėlimas būtų paprastas.