| |
一般的 HTML + Javascript 為靜態的網頁展示: (HTTP Client)<--(HTTP Protocol)-->(HTTP Daemon) 「HTTP Clien」就是所謂的瀏覽器;「HTTP Daemon」 就是所謂的伺服器(簡稱 HttpD);Daemon 在 Server 的概念就是「一個服務的精靈」,每個 Daemon 都會管理一個 Port,對每個連線進入的Client進行服務。 |
| 後來,見識到網際網路的便利後,有些人開始思考如何利用網路進行服務(比如說留言、上傳檔案給管理者等等),於是便出現了「CGI」,「CGI
Application」可以用 「C/C++」、「Perl」、「Python」、「Shell Script」 等電腦語言來編寫,結合資料庫(DataBase)進行良好的網路服務。 (HTTP Client) <--(HTTP Protocol)--> (HTTPD + CGI Program) <--(DB API)--> 資料庫 此時的 CGI 和 HttpD 並沒有緊密結合,CGI 對於HttpD來說,只是一個「傭兵幫手」,傭兵很強,但並不能完全結合。 |
|
|
CGI開始廣泛使用後,陸續出現了效能的瓶頸,因為每次的 Form post / get 都沒有所謂的快取概念,導致有些狀況效能不彰(後來有 Fast CGI 技術解決),所以緊緊結合Web伺服器(HttpD)的 Server 端 Script Language就慢慢出現,其中以下列三者為常見的Script Languqge:
(HTTP Client) <--(HTTP Protocol)--> (HTTPD + Server Scripts) <--(DB API)--> 資料庫 注意,他們這些語言,都是在 Server 端的,透過模組或內建的結合和 HttpD進行比較緊密的協同運作。當然,這些語言,有些也可以透過
CGI 的模式跑(如,PHP)。 |
|
|
一句話作歸節: 「這些東西都是 Server 端的 Scripting Language,用來製作動態的服務網頁」 |
|
|
舉幾個例子:
|
|
|
網路參考資料: PHP:PHP Hypertext Preprocessor
|