區別分析:
(推薦學習:nginx教學)
cgi
web 伺服器會根據請求的內容,然後會fork 一個新進程來運行外部c 程式(或perl 腳本…), 這個進程會把處理完的資料回傳給web 伺服器,最後web 伺服器把內容傳送給用戶,剛才fork 的進程也隨之退出。
如果下次使用者也要求改動態腳本,那麼 web 伺服器又再次 fork 一個新進程,周而復始的進行。
fastcgi
web 伺服器收到一個請求時,他不會重新fork 一個進程(因為這個進程在web 伺服器啟動時就開啟了,而且不會退出),web 伺服器直接把內容傳遞給這個進程(進程間通信,但fastcgi 使用了別的方式,tcp 方式通信),這個進程收到請求後進行處理,把結果返回給web 伺服器,最後自己接著等待下一個請求的到來,而不是退出。
綜上所述,差別在於是否重複 fork 流程,處理請求。
以上是fastcgi和cgi有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!