[Pre-Class] Server-side scripting

"

Server-side scripting
顧名思義, 是運行在伺服器端的描述語言,
與 Client-side scripting 不同, 其代碼是不為用戶所見的.

現時比較熱門的 Server-side scripting 有:
ASP / ASP.NET
JSP / Servlet
PHP
ROR

提到 Server-side scripting, 最好先從 CGI 說起.
CGI(Common Gateway Interface), 中文為 通用網關介面.

在很久以前的 Web 上, 要寫一些如留言板的網上服務, 和現在的作法不太一樣.
就 CGI 的運作方式而言, 雖然同樣是先接收使用者的請求, 然而對於該請求,
CGI 得要 OS 建立一個新的 Process, 呼叫伺服器內相對應的程序及 Script 來處理該請求,
處理完畢後再把結果發送給使用者.

如此一來, 由於每一個請求都要建立獨立的 Process, 在效率上並不理想.
於是開始產生出不同的解決方案, 如 ASP 及 JSP.

他們和舊式的 CGI 最主要的不同之處是, 其 Script 並不需要透過 OS 呼叫外部的程序去處理,
而是直接由 Web Server 處理. 而且也不需要每次都建立新的 Process. 因此效率比 CGI 為佳.

接下來再簡單簡介一下 ASP 與 JSP

ASP 全稱 Active Server Pages, 為 Microsoft 公司建立,
運行於 IIS(Internet Information Services) 的 Script.
其後推出的 ASP.NET 則基於 Microsoft .NET Framework 技術. (和 ASP 差距甚大)
在 ASP 中可以加入 Microsoft 的 VBScript 使用. ( ASP.NET 則是 Visual Basic, C# 及 JScript )

JSP 全稱 JavaServer Pages, 為 Sun 公司 Java 技術的其中一個分支.
雖然我們可以透過 Java 語法來建立服務 (Servlet), 可是與 HTML 的親和力卻不夠.
因此我們透過一個比較接近 HTML 的方式 - JSP - 來編寫服務, 再由 Server 將其生成對應的 Servlet.

親和力問題還有其他的解決方案, 如 Model-View-Controller, 在此就不詳細提及.

參考
ASP.NET 首頁
http://www.microsoft.com/taiwan/msdn/asp.net/default.mspx

JavaServer Pages Technology
http://java.sun.com/products/jsp/

PHP: Hypertext Preprocessor
http://www.php.net/

Ruby on Rails
http://www.rubyonrails.org/

Microsoft ASP.NET 快速入門教學課程
http://cht.gotdotnet.com/quickstart/aspplus/doc/whatisaspx.aspx

JavaServer Pages
http://www.oreilly.com.tw/product_java.php?id=a083
http://www.oreilly.com.tw/preface/083.pdf

"