fastcgi和cgi有什么區別

fastcgi和cgi有什么區別

區別分析:

(推薦學習:nginx教程

cgi

web 服務器會根據請求的內容,然后會 fork 一個新進程來運行外部 c 程序(或 perl 腳本…), 這個進程會把處理完的數據返回給 web 服務器,最后 web 服務器把內容發送給用戶,剛才 fork 的進程也隨之退出。

如果下次用戶還請求改動態腳本,那么 web 服務器又再次 fork 一個新進程,周而復始的進行。

fastcgi

web 服務器收到一個請求時,他不會重新 fork 一個進程(因為這個進程在 web 服務器啟動時就開啟了,而且不會退出),web 服務器直接把內容傳遞給這個進程(進程間通信,但 fastcgi 使用了別的方式,tcp 方式通信),這個進程收到請求后進行處理,把結果返回給 web 服務器,最后自己接著等待下一個請求的到來,而不是退出。

綜上所述,差別在于是否重復 fork 進程,處理請求。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享