溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

fastcgi與cgi有哪些區(qū)別

發(fā)布時間:2020-09-09 10:13:28 來源:億速云 閱讀:206 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)fastcgi與cgi有哪些區(qū)別,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

現(xiàn)在的CGI基本沒人使用,不安全以及性能極其低下,越來越多的使用web內(nèi)置擴(kuò)展、fastCGI。例如微軟iis的ISAPI,apache的php模塊,nginx的php-cgi。CGI、內(nèi)置模塊、fastcgi這三種性能最好的要屬于fast_cgi速度最快,但是需要額外的進(jìn)程。解析來看看CGI和FASTCGI有什么不同.

CGI方式介紹:

cgi在2000年或更早的時候用得比較多,以前web服務(wù)器一般只處理靜態(tài)的請求,如果碰到一個動態(tài)請求怎么辦呢?web服務(wù)器會根據(jù)這次請求的內(nèi)容,然后會fork一個新進(jìn)程來運(yùn)行外部c程序(或perl腳本...), 這個進(jìn)程會把處理完的數(shù)據(jù)返回給web服務(wù)器,最后web服務(wù)器把內(nèi)容發(fā)送給用戶,剛才fork的進(jìn)程也隨之退出。 如果下次用戶還請求改動態(tài)腳本,那么web服務(wù)器又再次fork一個新進(jìn)程,周而復(fù)始的進(jìn)行。

web內(nèi)置模塊介紹:

后來出現(xiàn)了一種更高級的方式是, web服務(wù)器可以內(nèi)置perl解釋器或php解釋器。 也就是說這些解釋器做成模塊的方式,web服務(wù)器會在啟動的時候就啟動這些解釋器。 當(dāng)有新的動態(tài)請求進(jìn)來時,web服務(wù)器就是自己解析這些perl或php腳本,省得重新fork一個進(jìn)程,效率提高了。

fastcgi方式介紹:

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

fastcgi跟cgi的區(qū)別表格:

fastcgi與cgi有哪些區(qū)別

舉個例子: 服務(wù)端現(xiàn)在有個10萬個字單詞, 客戶每次會發(fā)來一個字符串,問以這個字符串為前綴的單詞有多少個。 那么可以寫一個程序,這個程序會建一棵trie樹,然后每次用戶請求過來時可以直接到這個trie去查找。 但是如果以cgi的方式的話,這次請求結(jié)束后這課trie也就沒了,等下次再啟動該進(jìn)程時,又要新建一棵trie樹,這樣的效率就太低下了。   而用fastcgi的方式的話,這課trie樹在進(jìn)程啟動時建立,以后就可以直接在trie樹上查詢指定的前綴了。

關(guān)于fastcgi與cgi有哪些區(qū)別就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI