FastCGI是公共網關接口(CGI)的擴展,該接口由一家現已倒閉的開放市場公司開發。FastCGI作為開放標準免費提供。它解決了CGI中限制性能的某些缺點。 與CGI不同,FastCGI不會為每個請求創建新的進程,因此,每次收到請求時,都可以...
FastCGI是公共網關接口(CGI)的擴展,該接口由一家現已倒閉的開放市場公司開發。FastCGI作為開放標準免費提供。它解決了CGI中限制性能的某些缺點。

與CGI不同,FastCGI不會為每個請求創建新的進程,因此,每次收到請求時,都可以最大限度地減少進程創建和銷毀的開銷。通過使用應用程序編程接口(API),如Netscape Server Application Programming Interface(NSAPI)或Internet Server Application Programming Interface(ISAPI),可以避免這種開銷,但由于這些接口是專有的,因此是一個額外的學習曲線和受支持語言的限制。CGI的另一個缺點是無法獲得可重用的某些情況,例如數據庫連接或緩存技術。使用FastCGI比傳統的CGI快30倍使用FastCGI,可以在一個連接上處理多個請求,這被稱為多路復用,可以使用多個連接。使用文件傳輸協議(FTP)或套接字傳輸請求。然后使用相同的連接返回響應。雖然此時可能會關閉連接,web服務器和進程仍然保持不變,這有很多優點例如,它意味著服務器和應用程序進程可以分別關閉或重新啟動,FastCGI最初是由開放市場開發的,并在其web服務器產品中實現,該接口可以在任何服務器上實現,然而,它很快就在許多其他行業的web服務器上實現了。FastCGI與分布式計算高度兼容,因此FastCGI應用程序可以在web服務的獨立服務器上運行。這提供了增強系統可用性的所有優勢,通過使用遠程FastCGI,因為內部網絡可以處理應用程序的運行,所以管理更少,就像CGI應用程序可以從超文本傳輸協議(HTTP)請求生成響應一樣,FastCGI也可以這樣做驗證身份驗證和轉換數據類型。這些任務是使用角色來處理的,角色可以自由添加和擴展。FastCGI易于理解,幾乎可以用任何編程語言運行。進程是孤立的,因此,服務器不會因為應用程序的特定問題而崩潰,任何使用FastCGI框架構建的應用程序都會落后于運行CGI的舊服務器,而且應用程序庫的設計使得CGI應用程序的遷移變得簡單。