CGI And Google Apps Engine

CGI:Common Gateway Interface
共同閘道介面,我翻得真爛...

為什麼會產生這種技術呢?
因為當初伺服器端在網站成熟的初期,它對於用戶端所提出的需求(request)是只能夠回應靜態的
不能夠處理它,也就是沒有表單驗證,換句話說,他不能夠執行,只能讀取,舉例:不能驗證表單(檢查需要執行),不能傳送表格存入資料庫(不能執行程式將資料送進資料庫)
而CGI這種技術就是改善它的最好方法,因為CGI不是讀取它的資料,而是執行

路徑說明:(Client) request-->Server(response0)-->CGI
Client<--Server(response1)<--

而它跟google發展的Google Apps Engine有什麼關聯呢?
google其實就是想將上述的Server拿下來自己做,但是他們會提供API以利於使用者客製化他們想要的效果
所以在google的Google Apps Engine入門介紹中它提供

Server:
第一個dev_appserver.py是讓你操作server的基本設定
第二個appcfg.py是讓你操作上傳的基本設定

CGI:
而CGI的程式它開放給使用者製作,但最後還是會利用上傳將資料檔案全都傳到google的伺服器
        google在這方面是使用python

這就是google最近興起的雲端運算(Cloud Computing)的雛型
想想看,當一個網頁server不再需要了(因為有google),CGI只要有Python編輯上傳給google(若是以後google提供python這這種應用程式在雲端上)
那麼一個網頁剩下的元素是什麼Client !!! 只要有人和一台接收器在(不需要太貴,因為沒有OS,你只需要喇叭,螢幕之類的),其他都交給google幫你做掉
那麼是不是方便

當然這有好處也有壞處:
若是真的技術成功了,我們對每台電腦,也許應該說是接收器的價格會大大下降,但是相對的思考一下,資料的所在
那可是全都在google的伺服器上!!!
想想人心的黑暗面:
google會不會用你的寫的程式,偷看你的技術
這都還好,要是你有拍裸照,你敢上傳嗎?
---------------------------------------------------------------
所以電腦方面技術還是要符合人性才會成功(3D視訊手機就是個很好的例子),google正在面臨考驗

3D視訊手機就是個很好的例子:
如果你在偷偷跟女朋友約會, 老婆打給你你敢開機給她看視訊嘛?

商業的層面:
若是有了雲端技術,硬體,作業系統的需求大大下降,直接衝擊到的當然用膝蓋想也知道是微軟
要是開發成功了,比爾蓋茲的失敗也不是不可能

註:其實雲端運算早在電腦剛出爐不久就已經有稍稍的概念出現,很多台電腦共有一個server
當時的原因是因為主機太貴了!!!所以才有這種想法,但想看看現在想要用雲端計算的原因
比照今初那還滿有趣的