伺服器技術 使永程式語言
ASP VBScript VBScript
ASP.NET C# C#
ASP.NET VB Visual Basic .NET
ColdFusion ColdFusion標記語言(CFML)
JSP Java
PHP PHP
 ASP JavaScript JavaScript 
  

目前,最常用的三種動態網頁語言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor)。

    簡 介

    ASP全名Active Server Pages,是一個WEB服務器端的開發環境,利用它可以產生和執行動態的、互動的、高性能的WEB服務應用程序。ASP採用腳本語言VBScr

ipt(Java script)作為自己的開發語言。

    PHP是一種跨平臺的服務器端的嵌入式腳本語言。它大量地借用C,Java和 Perl語言的語法, 並耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態產生頁面。它支持目前絕大多數數據庫。還有一點,PHP是完全免費的,不用花錢,你可以從 PHP官方站點(http: //www.php.net)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。

    JSP是Sun公司推出的新一代網站開發語言,Sun公司借助自己在Java上的不凡造詣,將Java從Java應用程序和Java Applet之外,又有新的碩果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。

    三者都提供在 HTML代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。但JSP代碼被編譯成 Servlet並由Java虛擬機解釋執行,這種編譯操作僅在對JSP頁面的第一次請求時發生。在ASP 、PHP、JSP環境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 HTML頁面只依賴于Web服務器,而ASP 、PHP、JSP頁面需要附加的語言引擎分析和執行程序代碼。程序代碼的執行結果被重新嵌入到HTML代碼中,然後一起發送給瀏覽器。ASP 、PHP、JSP三者都是面向Web服務器的技術,客戶端瀏覽器不需要任何附加的軟件支持。

  技術特點:

    ASP:

    1. 使用VBScript 、 JScript等簡單易懂的腳本語言,結合HTML代碼,即可快速地完成網站的應用程序。

    2. 無須compile編譯,容易編寫,可在服務器端直接執行。

    3. 使用普通的文本編輯器,如Windows的記事本,即可進行編輯設計。

    4. 與瀏覽器無關(Browser Independence), 客戶端只要使用可執行HTML碼的瀏覽器,即可瀏覽Active Server Pages所設計的網頁內容。Active ServerPages 所使用的腳本語言(VBScript 、 Jscript)均在WEB服務器端執行,客戶端的瀏覽器不需要能夠執行這些腳本語言。

    5.Active Server Pages能與任何ActiveX scripting語言兼容。除了可使用VB Script或JScript語言來設計外,還通過plug-in的方式,使用由第三方所提供的其它腳本語言,譬如REXX 、Perl 、Tcl等。腳本引擎是處理腳本程序的COM(Component Object Model) 對象。

    6. 可使用服務器端的腳本來產生客戶端的腳本。

    7. ActiveX Server Components(ActiveX 服務器組件 )具有無限可擴充性。可以使用Visual Basic 、Java 、Visual C++ 、COBOL等程序設計語言來編寫你所需要的ActiveX Server Component 。

    PHP:

    1 數據庫連接

    PHP可以編譯成具有與許多數據庫相連接的函數。PHP與MySQL是現在絕佳的群組合。你還可以自己編寫外圍的函數去間接存取數據庫。通過這樣的途徑當你更換使用的數據庫時,可以輕松地修改編碼以適應這樣的變化。PHPLIB就是最常用的可以提供一般事務需要的一係列基庫。但PHP提供的數據庫接口支持彼此不統一,比如對Oracle, MySQL,Sybase的接口,彼此都不一樣。這也是PHP的一個弱點。

    JSP:

    1.將內容的產生和顯示進行分離

    使用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來產生頁面上的動態內容。產生內容的邏輯被封裝在標識和JavaBeans群組件中,並且捆綁在小腳本中,所有的腳本在服務器端執行。如果核心邏輯被封裝在標識和Beans中,那麼其它人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的產生。在服務器端,JSP引擎解釋JSP標識,產生所請求的內容(例如,通過存取JavaBeans群組件,使用JDBC技術存取數據庫),並且將結果以 HTML(或者XML)頁面的形式發送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。

    2.強調可重用的群組件

    絕大多數JSP頁面依賴于可重用且跨平臺的組件(如:JavaBeans或者 Enterprise JavaBeans)來執行應用程序所要求的更為復雜的處理。開發人員能夠共享和交換執行普通操作的組件,或者使得這些組件為更多的使用者或者用戶團體所使用。基于組件的方法加速了總體開發過程,並且使得各種群組織在他們現有的技能和優化結果的開發努力中得到平衡。

    3.採用標識簡化頁面開發

    Web頁面開發人員不會都是熟悉腳本語言的程序設計人員。JavaServer Page技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態內容產生所需要的。標準的JSP標識能夠存取和實例化 JavaBeans組件,設定或者檢索群組件屬性,下載Applet,以及執行用其它方法更難于編碼和耗時的功能。通過開發定制化標識庫,JSP技術是可以擴展的。今後,第三方開發人員和其它人員可以為常用功能建立自己的標識庫。這使得Web頁面開發人員能夠使用熟悉的工具和如同標識一樣的執行特定功能的構件來工作。 JSP技術很容易整合到多種應用體係結構中,以利用現存的工具和技巧,並且擴展到能夠支持企業級的分布式應用。作為採用Java技術家族的一部分,以及 Java 2EE的一個成員,JSP技術能夠支持高度復雜的基于Web的應用。由于JSP頁面的內置腳本語言是基于Java程序設計語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術的所有好處,包括健壯的存儲管理和安全性。作為Java平臺的一部分,JSP擁有Java程序設計語言“一次編寫,各處執行”的特點。隨著越來越多的供貨商將JSP支持加入到他們的產品中,您可以使用自己所選擇的服務器和工具,修改工具或服務器並不影響目前的應用。

應用范圍:

    ASP是Microsoft開發的動態網頁語言,也繼承了微軟產品的一貫傳統,只能執行于微軟的服務器產品,IIS(Internet Information Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的組件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的群組合來擴充,Unix下的COM 實現起來非常困難。

    PHP3可在Windows,Unix,Linux的Web服務器上正常執行,還支持IIS,Apache等一般的Web服務器,用戶更換平臺時,無需變換PHP3代碼,可即拿即用。

    JSP同PHP3類似,幾乎可以執行于所有平臺。如Win NT,Linux,Unix。在NT下IIS通過一個外加服務器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服務器 Apache已經能夠支持JSP。由于Apache廣泛應用在NT、Unix和Linux上,因此JSP有更廣泛的執行平臺。雖然現在NT操作係統佔了很大的市場份額,但是在服務器方面Unix的優勢仍然很大,而新崛起的Linux更是來勢不小。從一個平臺移植到另外一個平臺,JSP和JavaBean甚至不用重新編譯,因為Java字節碼都是標準的與平臺無關的。

    性能比較:

    有人做過試驗,對這三種語言分別做回圈性能測試及存取Oracle數據庫測試。在循環性能測試中,JSP只用了令人吃驚的四秒鐘就結束了20000*20000的回圈。而ASP、PHP測試的是2000*2000循環(少一個數量級),卻分別用了63秒和84秒。(參考PHPLIB)。 數據庫測試中,三者分別對 Oracle 8 進行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP則 需要 73 秒。

  前景分析:

    目前在國內PHP與ASP應用最為廣泛。而JSP由于是一種較新的技術,國內採用的較少。但在國外,JSP已經是比較流行的一種技術,尤其是電子商務類的網站,多採用JSP。採用PHP的網站如新浪網(sina)、中國人(Chinaren)等,但由于PHP本身存在的一些缺點,使得它不適合應用于大型電子商務站點,而更適合一些小型的商業站點。首先,PHP缺乏規模支持。其次,缺乏多層結構支持。對于大負荷站點,解決方法只有一個:分布計算。數據庫、應用邏輯層、表示邏輯層彼此分開,而且同層也可以根據流量分開,群組成二維數組。而PHP則缺乏這種支持。還有上面提到過的一點,PHP提供的數據庫接口支持不統一,這就使得它不適合運用在電子商務中。

    ASP和JSP則沒有以上缺陷,ASP可以通過Microsoft Windowsd的COM/DCOM獲得ActiveX規模支持,通過DCOM和Transcation Server獲得結構支持;JSP可以通過SUN Java的Java Class和EJB獲得規模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結構支持。三者中,JSP應該是未來發展的趨勢。世界上一些大的電子商務解決方案提供商都採用JSP/Servlet。比較出名的如 IBM的E-business,它的核心是採用JSP/Servlet的Web Sphere。它們都是通過CGI來提供支持的。但去年10月後它推出了Enfinity,一個採用JSP/Servlet的電子商務 Application Server,而且聲言不再開發傳統軟件。

    總之,ASP,PHP,JSP三者都有相當數量的支持者,由此也可以看出三者各有所長。正在學習或使用動態頁面的朋友可根據三者的特點選擇一種適合自己的語言。

 

ASP:ActiveX Server Page

ASP我們先來談談它,因為ASP是到現在開發人郡最廣的一個技術了,所以想來大家也會對它最關注。ASP是一個近乎完美的想法,可是因為MS一個大的環境的問題所以在一些方面反回使它縮小在了一個小的框架中,如果它能更好的跳出這個框架,我想由它現在的基礎將無人可比。

ASP更精確的說是一箇中間件,這箇中間件將Web上的請求轉入到一個解釋器中,在這個解釋器中將所有的ASP的Script進行分析,再進行執行,而這時可以在這箇中間件中去創建一個新的COM對象,對這個對象中的屬性和方法進行操作和調用,同時再通過這些COM組件再完成更多的工作。所以說,ASP強大的不在於它的VBScript, 而在於它後台的COM組件,這些組件來無限的擴充了ASP的能力。

強勢:

1、簡單易學。Basic有誰不會?很少會有人舉手,所以有人在說這個開發基礎是最廣的。而且MS有一向做的非常好的聯機手冊,本地化語言的幫助,同時非常快的出現教學書籍,這樣會大大方便開發人員的學習和對技術的深入研究。

2、安裝使用方便。裝好一個Windows 2000,祇要你安裝了IIS哪麼ASP就可以使用了,從沒有什麼需要你花心思去配置的。而說實話,ASP的調優也不難做,而要做到最細時也不是一般人能做的了的。

3、開發工具強大而多樣。這個我不用說了,可以說的就是我以前使用VB中的Web Class開發出的Web應用一點不差,當時讓許多人大吃一驚,VB也能做ASP上的應用!!!其實這正說明瞭ASP開發工具的多樣化,同時牠們的功能也很強,這一點已經被許多程序員所津津樂道。易用、簡單、人性化,這本就是微軟的強項喲。

4、效率高。在低的訪問量下,ASP能體現出一定的效率,這時它對機器的要求並不高。

弱勢:

1、Windows本身的所有問題都會一成不變的也累加到了它的身上。安全性、穩定性、跨平台性(Win2K已經不再支持Alpha了)都會因為與NT的綑綁而顯現出來。

2、ASP由於使用了COM組件所以它會變的十分強大,但是這樣的強大由於Windows NT系統最初的設計問題而會引發大量的安全問題。祇要在這樣的組件或是操作中一不注意,哪麼外部攻擊就可以取得相當高的權限而導致網站癱瘓或者資料丟失。

3、由於ASP還是一種Script語言所沒除了大量使用組件外,沒有辦法提高其工作效率。它必須面對即時編繹的時間考驗,同時我們還不知其背後的組件會是一個什麼樣的狀況。

4、無法實現跨操作系統的應用。當然這也是微軟的理由之一,祇有這樣才能發揮ASP最佳的能力。可是我卻認為正是Windows限制了ASP,ASP的概念本就是為一個能讓系統運行於一個大的多樣化環境而設計的。

5、還無法完全實現一些企業級的功能:完全的集群、負載均橫。

總結:

適用人群:熟悉MS架構的人員。想用最短的時間學習,同時想用最簡單的方式完成自己的應用。

適用平台:Windows系列平台適用應用:企業內部管理信息系統、中小Internet應用、快速資料庫開發的應用。

學習方式:IIS 4 Online Help(中文)MSDN Lib相關知識市場上眾多的ASP書籍

推荐開發工具:Visual InterDev/Home Site/Front Page

推荐開發環境:Windows 2000 Server/MS SQL

推荐應用環境(最少):Windows 2000 Server/MS SQL 7/PIII 500/256M RAM/18G HD

==========================================================================

PHP:Personal HomePage

PHP是一個什麼原因出現的呢?它是一個技術人員希望能用一個快速的方面來完成他自己的個人主頁中的一個小應用。而在他一發不可收時出現了php,它使一個人能在多種操作系統下迅速的完成一個輕型的Web應用。所以在短短的幾年裏,php迅速的升級了它的版本,同時在GNU的世界裏找到了一個青梅竹馬的伙伴----Apache。這終於讓php有了基礎,能在一個最佳的環境中運行,同時由於兩個產品都是公開源代碼的產品,所以大家可以使用牠們的源代碼將這兩個產品用最完美的方式結合到一起,使用起來就如一個產品一樣。個人認為php是自由軟件在web應用平台上一個決勝的工具,如果沒有php的出現,還會有許多人認為自由軟件就代表了對開發人員的高技術要求、難記的代碼、複雜的工具.....php使一個會使用basic的人員在極短的時間裏快迅學習並完成用戶需要的應用。

怎麼說php呢?如果說ASP是一個COM,哪麼php說的更精確了可以說php是一個純粹的Script翻譯器。這也是php由3升級為4的一個重大原因,在4這個版本裏它重寫了語法分析器,從而加快了php整體的效能。而且從中你也就會明白為什麼php需要支持這種或是那種擴充功能時它一定要與相應系統的lib庫進行再編繹的原因。正因為它是正宗的“翻譯器”,所以它是將script翻譯成為需要執行的函數,再去執行牠們,外部擴充不能由一些“動態加載”的方式進行,所以只能靜態的編繹進php中(這只能在windows中除外)。

強勢:

1、一種能快速學習、跨平台、有良好資料庫交互能力的開發語言。ASP比不上它的就是這種跨平台能力了,而正是它的這種能力讓Unix/Linux有了一種與ASP媲美的開發語言。語法簡單、書寫容易、現在市面上也有了大量的書,同時Internet上也有大量的代碼可以共享,對於一個初學者想學些“高深的Unix”下的開發來說是一個決好的入手點。

2、與Apache及其它擴展庫結合緊密。php與Apache可以以靜態編繹的方式結合起來,而與其它的擴展庫也可以用這樣的方式結合(除外的就是 Windows平台了)。這樣的方式的最大的好處就是最大化的利用了cpu時和內存,同時極為有效的利用了apache的高性能的吞吐能力。同時外部的擴展也是靜態連編,從而達到了最快的運行速度。由於與資料庫的接口也使用了這樣的方式,所以使用的是本地化的調用,這也讓資料庫發揮了最佳效能。

3、良好的安全性。由於php本身的代碼開放所以它的代碼在許多工程師手中進行了檢測,同時它與apache編繹在一起的方式也可以讓它具有靈活的安全設定。所以到現在為止,php具有了公認的安全性能。

弱勢:

1、資料庫支持的極大變化。由於php的所有的擴展接口都是獨立團隊開發完成的,同時在開發時為了形成相應資料的個性化操作,所以php雖然支持許多資料庫,可是針對每種資料庫的開發語言都完全不同。這樣形成針對一種資料庫的工發工作,在資料庫進行升級後需要開發人員進行幾乎全部的代碼更改工作。而為了讓應用支持更多種的資料庫,就需要開發人員將同樣的資料庫操作使用不同的代碼寫出n種代碼庫出來,讓程序員的工作量大大增大。

2、安裝複雜。由於php的每一種擴充模塊並不是完全由php本身來完成,需要許多外部的應用庫,如圖形需要gd庫、LDAP需要LDAP庫.……這樣在安裝完成相應的應用後,再聯編進php中來。這也就是我以前在代碼聯盟新聞組中對網友所說的一定要在FreeBSD/Linux/Unix下運行php的原因。祇有在這些環境下才能方便的編繹對應的擴展庫。這些都是一般開發人員在使用php前所先要面對的問題,正是這樣的問題讓許多開發人員轉而使用其它的開發語言,必竟Unix沒有那麼多的用戶。

3、缺少企業級的支持。沒有組件的支持,哪麼所有的擴充就只能依靠php開發組所給出的接口,事實上這樣的接口還不夠多。同時難以將集群、應用服務器這樣的特性加入到系統中去。而一個大型的站點或是一個企業級的應用一定需要這樣的支持的。注:在php的4.0版本以後加入了對 servlet/javabean的支持,也許這樣的支持會在以後的版本中更加增強,也許這樣的支持會是php以後的企業級支持的起點。

4、缺少正規的商業支持。這也是自由軟件一向的缺點,我想在國內php的開發人員正在快速增加,相信在不久的將來,這樣的支持能多起來。

5、無法實現商品化應用的開發。由於php沒有任何編繹性的開發工作,所有的開發都是基於腳本技術來完成的。所以所有的源代碼都無法編譯,所以做完成的應用只能是自己或是內部使用,無法實現商品化。

總結:

適用人群:熟悉Unix環境,需要在最少的投入下完成快速的應用開發。

適用平台:FreeBSD/Linux/Unix操作系統、Apache服務器適用應用:Internet高訪問量、快速資料庫開發的應用。

學習方式:Internet上國內豐富的資源Internet上豐富的源代碼資源,完全可以參考這樣的例程來完成自己的應用。市場上最近出版的好幾本 php手冊。

推荐開發工具:Home Site/PHPEd

推荐開發環境:FreeBSD 4.1/RedHat 6.1操作系統/Apache 1.3.12/MySQL 3.22/P 200/64M RAM/9G HD

推荐應用環境(最少):FreeBSD 3.5/MySQL 3.22/Apache 1.3.12/P 200/128M RAM/9G HD

推荐應用環境(最佳):FreeBSD 3.5/Sybase 11/Apache 1.3.12/P III 500/512M RAM/18G HD

==========================================================================

JSP:Java Server Page

JSP又是什麼原因出現的呢?Java在推向開發人員時出現了重重困難,首先是Java缺少主流系統的廣泛支持,而在所有的平台和技術上都缺少可以直接參照的應用方式。這時java就走向了在各個應用層上的積極進取,在自己擅長的與不擅長的領域都走出了堅定的腳步。其中最讓Web技術人員興奮的就是 Java Servlet的出現和JSP的漸漸成熟,這一步步都讓Java正式的走向了Web開發技術的舞台。Java利用了它的跨平台技術,使java的應用能快速的部署在各個平台上,而真的可以一處編寫隨處運行。它有較的利用了這個優勢,巧妙的將java的通用性、jsp的易用性、servlet的速度結合在一起,利用平台部署上的技巧有效的屏蔽java的速度問題,所以Java迅速的在Web開發人員的團員中推廣開來。攜著Java Bean、EJB、Java Application Server、Java事務服務器等這樣的強大後台走向了真正的成熟應用。

Jsp到底是一個什麼樣的語言呢?實際上JSP就是Java,祇是它是一個特別的Java語言,加入了一個特殊的引擎,這個引擎將HTTPServlet 這個類的一些對象自動進行初始化好讓用戶使用,而用戶不用再去操心前面的工作。同時這個引擎又引入了<jsp:*、<%@等一系列的特別語法,使用這些語法來進行一些特定的操作,如引用文件、URL轉向、JavaBean引用等這樣的操作,這些都是由引擎自動幫你完成初始化的工作。我們可以將這個引擎看作一個Jsp到Java Servlet的生成器或是翻譯器,讓用戶不用再面對複雜的Servlet中的還沒開始工作就要寫的幾十行代碼。這就是JSP--一個Java Servlet生成器。JSP->Java Servlet Code(.java文件)->Java Runtime Bin Code(.class文件),這就是為什麼我們第一次運行JSP時CPU運行能達到很高的原因,它實際上是調用了jsp引擎來生成java文件,再用 javac來編譯它到class文件,這才能去執行它。同時也說明瞭在第一次運行以後,速度為什麼哪麼快的原因,祇要這個jsp文件不改變哪麼這個操作就不再會進行了(除非你刪除了class文件)。所以說,java有什麼jsp就有什麼樣的功能,與asp一樣,jsp的真正力量是我們永遠看不到頭的!

強勢:

1、一處編寫隨處運行。這是一個程序員的夢想,也是從前的程序員的惡夢,為了在不同的平台間運行,使許多程序員一行行的重寫代碼。在這一點上java已經給了我最完美的答案它做的要比php更出色,除了系統之外,你的代碼不用做一點更改的。

2、系統的多台平支持。我已經在差不多所有平台上見到了一致的java servlet/jsp的Web Server/Application Server……系統它可以讓你在任意環境做開發,在任意環境進行系統部署,在任意環境擴展。相比asp/php的侷限性是顯面易見的。

3、強大的的可伸縮性。從祇有一個小的jar文件就可以運行servlet/jsp到由多台服務器進行集群和負載均橫,到多台Application進行事務處理、消息處理......一台服務器到無數以服務器,Java顯示了一個巨人的生命力。

4、多樣化和功能強大的開發工具支持。這一點與asp很像,java已經有了許多非常優秀的開發工具而且有許多可以免費得到,並且其中的許多已經可以順利的運行於多種平台之下。如果你細心的使用牠們會發現比自己第一面看到牠們時的功能要強大的多。

弱勢:

1、與ASP一樣,Java的一些優勢正是它致命的問題所在。正是由於為了跨平台的功能,為了極度的伸縮能力,所以極大的增加了產品的複雜性。這麼說,它在擴展時需要的分成多少塊,哪麼java系統中就有多少種產品。所以你要以看到jre、jdk、jsdk、jswdk……,實際上牠們祇要有效的搭配在一起,就可以產生強大的效能,密不可分,但是對於一位初學者來說:“有沒有搞錯!難道讓我運行一個jsp就要這麼多亂七八糟的東西!”

2、從出現的第一天起就被對手痛罵的:“慢如老牛”。真的,我在第一次運行我的jsp時,我竟然以為我的機器死機而將哪個進程給kill了!第一次編繹、運行對於使用者來說真是一場惡夢,在開發時我經常晚上做夢在看WinNT的任務管理器CPU格全綠時等著降下來的樣子和感覺。

3、技巧還是技巧。一個短處就一定要付出代價的。Java的運行速度是用將class常駐內存來完成的,所以它在一些情況下所使用的內存比起用戶數量來說卻實是“最低性能價格比”了。另一方面來說,它還需要硬盤空間來存儲一系列的.java文件和.class文件以及對應的版本文件。

4、缺少系統性的資料。這也許不該說,但是sun在國內做的卻實很差勁,java的資烊在國內極少,到現在我還沒有在書店裏看到一本jsp的書,而對 java體系的論述書更是少而又少,與java相關的書(中文版)到現在不過三位數。而再看看之中大量的具然還在講Visual J++或是Java 1.1這樣的陣年舊貨。

總結:

適用人群:具有較強學習能力和耐心的開發人員。投入低但是希望擁有較大的伸縮能力的應用。

適用平台:……(太多而只不再一一列說)適用應用:Internet/Intranet高可靠性應用、Internet/Intranet與Client /Server結合的應用系統

學習方式:Java的Doc文檔和java站點中的一系文檔Internet的源代碼資源(對不起大家,真的不能提出更好的建議了,再有的就是大家的能力和運氣,以及Inetnet上網友的幫助了)

推荐開發工具:JBuilder/Visual Age for java(這個我沒用過,但是有人強力推荐)/Sun Forte for JavaKAWA

推荐開發環境:Windows NT/Windows 2000開發系統JBuilder 3.5(它能成為Web Server,甚至不再需要其它的工具)Tomcat 3.1JDK 1.3(可以不安裝)Access 2000/P II 266/128M RAM/9G HD

推荐應用環境(最少):RedHat Linux 6.2/MySQL 3.22/Apache 1.3.12/Tomcat 3.1/JDK 1.3Beta/PIII 500/512M RAM/9G HD

推荐應用環境(最佳):Solaris 8/Sybase 11/iPlanet Enterprise Web Server 4.1/JDK 1.3Beta/Sun Netra T1/1G RAM/18G HD

==========================================================================================
我在別的網站看到這個
作者是[小白]應該就是小舖上的小白,有相關問題可以寫信給他。
doraemon2112@mail.hongkong.com

他的網站如下
http://www22.brinkster.com/cccentre/


【前言 】

網頁給大家的概念也許是HTML組成的(詳看HTML簡介),也許有些人也知道了JavaScript的意義,但是要讓網頁弄得更好,我們需要一種讓網頁動起來的技術,這種技術,正是基於Web舞台的後端技術。

【網際網路及後端技術 】

Internet的意義是「網際網路」,源起於1960-1970。起初,美國政府希望內部的電腦能夠作資料的交換,便有一個名為ARPA。這個計劃便是 Internet的源起。這種技術由美國不斷伸展,直到全世界。可惜這種技術只能夠在網路上傳送文字,於是,基於Internet的WWW(World Wide Web,全球資訊網)技術被研發出來了,網路便是由此而變得生動有趣。網頁便是在這個網路上的媒體,主要由文字及圖片組成。而未來,GGG(Great Global Grid)將會取代WWW。它的運作比WWW更快,採用的技術截然不同,當然,這個暫時不提,因為暫未普遍。

後端技術可以說是一個Web介面的後端應用程式,使用者必須編寫一個程式,讓伺服器的解讀引擎執行,使它在網路上運行。HTML網頁是一個系統的操作介面,真正需要處理的東西,都透過這個介面傳輸到後端系統,它的工作便是處理這些資料,當然如何處理是系統編寫人員所控制的。

【客戶端及伺服器端 】

要明白「後端系統」的概念,你必須先明白「客戶端」(Client)和「伺服器端」(Server)。客戶端是要看網頁的人透瀏覽器發出的資料,即是說,你的電腦接上網路後便是客戶端。而伺服器端則是處理客戶端送出資料的一台電腦。處理資料的過程,如下所示:

客戶端──────────→伺服器
我要看網頁! │
│沒問題,處理中
客戶端───────────┘

這網頁真美。

【後端技術及客戶端技術的分別 】

所謂的JavaScript、VBScript,是由一個使用者寫了程式,在由瀏覽器「翻譯」成電腦看得懂的東西,變成大家看到的效果。由於在客戶端「翻譯」,所以原始碼會全部送到客戶端。這就好比拉麵師傅在你面前表演廚藝,你把他的動作看得一清二楚,你最後能享受到美味的拉麵。

而後端技術如ASP(Active Server Page)、PHP(PHP: Hypertext Preprocessor)等,這個「翻譯」的過程,是在伺服端進行的,在伺服器那裏有一個「翻譯員」(解釋引擎),他先解讀並且執行命令,再把結果送回客戶端。這就好比媽媽在廚房裏弄晚餐,你完全看不到她在弄什麼,但你最後能享受到美味的晚飯一樣。

JavaScript、VBScript等運作如下所示:

伺服器──────→客戶端
傳送網頁 │
│瀏覽器:讓我來解讀吧。
└─────────────客戶端:使用者看到網頁。

ASP、PHP等運作則如下所示:
伺服器─────────────→客戶端
這些東西瀏覽器看不懂的, │
我先來翻譯及執行吧。 │沒有看不懂的啊!
└──────────客戶端:使用者看到網頁。

當然一個網頁也可以同時擁有兩種技術,只是雙方不能交流而已。

伺服器────────→客戶端
解釋後端語言, │還有前端程式要解譯,
都翻譯好了 │翻譯的給我滾出來!
└────────────客戶端:使用者看到網頁。

接上文,由於兩者使用不同的技術,「翻譯員」也是不同的人(一個是Server、一個在Client),它們並不能溝通,因此無法作訊息交流。

【後端語言 】

後端程式語言種類明顯比前端程式為多。在此我就ASP/ASP.net、CGI、PHP、JSP及Cold Fusion逐一作特式及語法介紹。

ASP可使用Jscript、VBScript及PerlScript的語法,加上內建的五大物件來進行伺服器端的程式處理,目前推出了三個主要的版本,它採用直譯的方式執行。ASP.net則是較遲推出,可使用VB.net、C#.net及J#.NET的語法。它們都是Microsoft推出的產品,因此必須在微軟視窗作業系統加上Internet Information Services(IIS)的直譯器才能運行,ASP.net則還要加上.net Framework這個編譯器方可運行。ASP的運作速度稍慢,但語法比較簡單;而ASP.net則在效能方面有所提升,因為它採用編譯方式執行,可惜語法繁複,對初學者有一定的難度。微軟視窗及IIS一直是發現漏洞比較多的產品,IIS更有三個著名的漏洞──Unicode、ISAPI及 MDAC/RDS。因此,後端程式採用ASP/ASP.net有一定的危險性,但是ASP仍是入門者的首選。

CGI是眾多後端程式語言中歷史最為悠久,執行速度最慢,編寫也頗為不方便。一個比較著名的CGI程式編寫語言是Perl,但我認為它的語法頗為繁複。 PHP是一個很接近C的網頁後端語言,由於它擁有強大的函式庫,加上解讀引擎更新頻密,因此有很多的使用者。PHP3是採用直譯的,而PHP4則是使用編譯的。PHP的漏洞雖然也不比IIS少,但是被發現漏洞較少,而且更新時間頻密,相信一個漏洞剛發現,官方便已有更新。JSP採用Java的語法,由於較為複雜,因此使用者比較少。JSP是採用編譯的,效能比ASP好。Cold Fusion則是由一個一個的、類似HTML的標籤組成,非常簡單易用,但目前仍不太普及。

==========================================================================

乎~~終於找到我所看到的重點啦~~
這是雲林科技大學主機測試結果
重點是他們使用JSP、ASP、PHP跑資料庫迴圈出來的數值..
JSP真的快到嚇死人呢..
我想論壇是否用JSP才可以達到效能的最佳化呢

系上ASP主機與PHP主機介紹、比較

簡 介

ASP全名Active Server Pages,是一個WEB伺服器端的開發環境,利用它可以產生和執行動態的、互動的、高性能的WEB服務應用程式。架設這一類伺服器由於是微軟所開發出來的,所以都需要花錢不像PHP是完全免費的,ASP採用腳本語言VBScript(Java script)作為自己的開發語言。

PHP是一種跨平台的伺服器端的嵌入式腳本語言。它大量地借用C,Java和Perl語言的語法, 並耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態產生頁面。它支援目前絕大多數資料庫。還有一點,PHP是完全免費的,不用花錢,可以從PHP 官方站點(http: //www.php.net)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。

NOTE:由於PHP的程式都是跟HTML混合在一起的,所以稱他為嵌入式腳本語言.........

比較

程式介面 PHP ASP
作業系統 均可 Win32
Web伺服器 數種 IIS
執行效率 快 快
穩定性 佳 中等
程式語言 PHP VB
網頁結合 佳 佳
學習門檻 低 低
函式支援 多 少
系統安全 佳 極差
使用站台 超多 多
改版速度 快 慢
參考書籍 少 多
價錢 免費 貴
資料來源:http://php.wilson.gs/bible

在此做一個結論:

ASP目前僅NT IIS4.0 100%支援,所以需要花大把錢(萬元)給微 X,雖然說Unix下也有ChiliSoft的元件來支援ASP,但是ASP本身的功能有限,必須通過ASP+COM的群組合來擴充,Unix下的COM 實現起來非常困難。而PHP可運行在Windows與Linux與Unix主機上。

ASP市面上書本很多故較易上手;反觀PHP須在UNIX & Apache系統上,並得自行K原文說明書或上BBS站找高手, 對沒學過UNIX和 C 語言的人會難上手。

效能方面則因PHP架在UNIX上,系統須求亦低於NT,並採用C語言方式運作,故效率及穩定性較高.

性能實驗

也有人做過試驗,對這三種語言分別做回圈性能測試及存取Oracle資料庫測試。 在迴圈性能測試中,JSP只用了令人吃驚的四秒鐘就結束了20000*20000的迴圈。而ASP、PHP測試的是2000*2000迴圈(少一個數量級),卻分別用了63秒和84秒。(參考PHPLIB)。 資料庫測試中,三者分別對 Oracle 8 進行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP則 需要 73 秒。

未來發展

目前在國內PHP與ASP應用最為廣泛。ASP因為MS大力推廣之優勢,已成目前網路語言之主流,Windows 2000 更是內建IIS,直接支援ASP,故更有可能完全替代 CGI perl語言;PHP就未來,仍是屬原UNIX愛好者的最愛,仍須視 X windows流行的趨勢及使用者操作介面的提升,不無可能與ASP互別描頭.

 

那ajax & jquery呢?

arrow
arrow
    全站熱搜

    一朗 發表在 痞客邦 留言(3) 人氣()