CGI
Common Gateway Interface (CGI) представлява помощен инструмент за уеб сървъра, чрез който се делегира генерирането на уеб съдържание към изпълними файлове (приложения). Такива файлове са познати като CGI скриптове; програми или самостоятелни приложения, обикновено написани на скриптов език.
CGI протоколът стартира отделен процес в началото на всяка HTTP заявка и го приключва след завършване на изпълнението. Този модел на „нов процес за всяка нова заявка“ е много опростен за имплементация.
CGI има следните предимства:
- Независим от програмни езици – CGI приложения могат да бъдат написани на почти всеки език.
- Изолирани процеси – Приложенията работят в отделни процеси, което дава сигурност и стабилност.
- Отворен стандарт – CGI е реализиран във всеки уеб сървър.
- Архитектурна независимост – CGI не е обвързан със сървърната архитектура.
CGI също има някои недостатъци, като основен такъв е производителността. Това може да се наблюдава при често изпълнявани процеси. Тъй като се създава нов процес за всяка заявка и след изпълнение се прекратява, то ефективността е по-ниска спрямо FastCGI протокола.
FastCGI
FastCGI е по-нов, по-бърз и оптимален начин за работа на уеб сървъра с допълнителните приложения.
Предимствата на FastCGI включват:
- Висока производителност – FastCGI процеси се използват повторно, за да се обслужат множество HTTP заявки, а не само една. Това решава CGI проблема със създаване на нови процеси за всяка заявка и съответно повишава производителността.
- Лесна миграция от CGI – Приложенията, написани за CGI, могат сравнително лесно да се мигрират към FastCGI.
- Независим от програмни езици – Както CGI, FastCGI приложения могат да бъдат написани на почти всеки програмен език.
- Изолирани процеси
- Архитектурна независимост – FastCGI се поддържа във всички сървърни продукти на пазара.
Вижте още: 🔗 Какво е CGI и FastCGI? | Help