顯示廣告
隱藏 ✕
看板 humorless
作者 humorless (休摩里斯)
標題 CGI --相關的issue( perl_mod, FastCGI )
時間 2010年07月13日 Tue. AM 10:14:11


這兩天在弄SSLVPN的東西,有一小部分的code,跟lighttpd有關 --CGI的部分。

我就順便研究了一下:發覺裡頭還有一些有趣的東西:
(0) 什麼是CGI?
一個標準:可以讓一個客戶端,從網頁瀏覽器向執行在Web伺服器上的程序,請求數據。事實上,CGI程序可以用任何腳本語言 或者是完全獨立程式語言實現,只要這個語言可以在這個系統上運行。
 
(1) wiki上的CGI是怎麼運作的?
實現Wikipedia的程序就是CGI程序的一個例子:首先用戶代理程序向這個CGI程序請求某個名稱的條目,如果該條目頁面存在,CGI程序就會去獲取那個條目頁面的原始數據,然後把它轉換成HTML並把結果輸出給瀏覽器;如果該條目頁面不存在,CGI程序則會提示用戶新建一個頁面。所有的Wikipedia操作都是通過這個程序來處理的。

(3) 為什麼要有mod_perl ?
因為這個技術一般每次CGI請求都需要新生成一個程序的副本來運行,這樣大的工作量會很快將伺服器壓垮,因此一些更有效的技術像mod_perl,可以讓腳本解釋器直接作為模塊集成在Web伺服器中,這樣就能避免重複載入和初始化解釋器。

(4) 為什麼要有FastCGI ?
它會第一次調用腳本時, 就在系統的某個地方保存腳本編譯過的版本,這樣對這個文件以後的請求就會自動轉向這個編譯過的代碼而不用每次調用腳本解釋器來解釋腳本。

--
※ 來源: DISP BBS 看板: humorless 文章連結: http://disp.cc/b/124-6Ry
※ 作者: humorless  來自: 118.168.23.219  時間: 2010-07-13 10:14:11
※ 看板: humorless 文章推薦值: 0 目前人氣: 0 累積人氣: 107 
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇