當前位置:編程學習大全網 - 源碼下載 - PHP、ASP、ASP.net 這三種網站各有什麽優勢

PHP、ASP、ASP.net 這三種網站各有什麽優勢

現在主流的網站開發語言無外乎asp、php、asp.net、jsp等。網頁從開始簡單的hmtl到復雜的服務語言,走過了10多個年頭,各種技術層出不窮,單個的主流技術也在不斷翻新的版本,現在分析下各種語言的區別、優勢、劣勢、開發註意事項!HTML:當然這是網頁最基本的語言,每壹個服務器語言都需要它的支持,要學習,這個肯定是開始,不說了.主流網站開發語言之ASP:ASP是微軟(Microsoft)所開發的壹種後臺腳本語言,它的語法和Visual BASIC類似,可以像SSI(Server Side Include)那樣把後臺腳本代碼內嵌到HTML頁面中。雖然ASP簡單易用,但是它自身存在著許多缺陷,最重要的就是安全性問題。目前在微軟的 .net 戰略中新推出的ASP.net 借鑒了Java技術的優點,使用C Sharp (C#) 語言作為ASP.net的推薦語言,同時改進了以前ASP的安全性差等缺點。但是,使用ASP/ASP.net仍有壹定的局限性,因為從某種角度來說它們只能在微軟的 Windows NT/2000/XP + IIS的服務器平臺上良好運行(雖然像ChilliSoft提供了在UNIX/Linux上運行ASP的解決方案,但是目前ASP在UNIX/Linux上的應用可以說幾乎為0)。所以平臺的局限性和ASP自身的安全性限制了ASP的廣泛應用。

ASP在執行的時候,是由IIS調用程序引擎,解釋執行嵌在HTML中的ASP代碼,最終將結果和原來的HTML壹同送往客戶端。主流網站開發語言之PHP:PHP 的全名非常有趣,它是壹個巢狀的縮寫名稱——“PHP: Hypertext Preprocessor”,打開縮寫還是縮寫。PHP是壹種HTML 內嵌式的語言 (就像上面講的ASP那樣)。而 PHP 獨特的語法混合了C,Java,Perl以及 PHP 式的新語法。它可以比 CGI 或者 Perl 更快速地執行動態網頁。

PHP的源代碼完全公開,在 Open Source 意識擡頭的今天,它更是這方面的中流砥柱。不斷地有新的函數庫加入,以及不停地更新,使得 PHP 無論在 UNIX 或是 Win32 的平臺上都可以有更多新的功能。它提供豐富的函數,使得在程式設計方面有著更好的資源。目前PHP的最新版本為4.1.1 ,它可以在Win32以及UNIX/Linux等幾乎所有的平臺上良好工作。PHP在4.0版後使用了全新的Zend引擎,其在最佳化之後的效率,比較傳統 CGI 或者 ASP 等技術有了更好的表現。

平臺無關性是PHP的最大優點,但是在優點的背後,還是有壹些小小的缺點的。如果在PHP中不使用ODBC,而用其自帶的數據庫函數(這樣的效率要比使用ODBC高)來連接數據庫的話, 使用不同的數據庫,PHP的函數名不能統壹。這樣,使得程序的移植變得有些麻煩。不過,作為目前應用最為廣泛的壹種後臺語言,PHP的優點還是異常明顯的。ASP.NET:ASP.net是Microsoft.net的壹部分,作為戰略產品,不僅僅是 Active Server Page (ASP) 的下壹個版本;它還提供了壹個統壹的 Web 開發模型,其中包括開發人員生成企業級 Web 應用程序所需的各種服務。ASP.NET 的語法在很大程度上與 ASP 兼容,同時它還提供壹種新的編程模型和結構,可生成伸縮性和穩定性更好的應用程序,並提供更好的安全保護。可以通過在現有 ASP 應用程序中逐漸添加 ASP.NET 功能,隨時增強 ASP 應用程序的功能。ASP.NET 是壹個已編譯的、基於 .NET 的環境,可以用任何與 .NET 兼容的語言(包括 Visual Basic .NET、C# 和 JScript .NET.)創作應用程序。另外,任何 ASP.NET 應用程序都可以使用整個 .NET Framework。開發人員可以方便地獲得這些技術的優點,其中包括托管的公***語言運行庫環境、類型安全、繼承等等。ASP.NET 可以無縫地與 WYSIWYG HTML 編輯器和其他編程工具(包括 Microsoft Visual Studio .NET)壹起工作。這不僅使得 Web 開發更加方便,而且還能提供這些工具必須提供的所有優點,包括開發人員可以用來將服務器控件拖放到 Web 頁的 GUI 和完全集成的調試支持。微軟為ASP.net設計了這樣壹些策略:易於寫出結構清晰的代碼、代碼易於重用和***享、可用編譯類語言編寫等等,目的是讓程序員更容易開發出Web應用,滿足計算向Web轉移的戰略需要。 主流網站開發語言之JSP:JSP和Servlet要放在壹起講,是因為它們都是Sun公司的J2EE(Java 2 platform Enterprise Edition)應用體系中的壹部分。

Servlet的形式和前面講的CGI差不多,它是HTML代碼和後臺程序分開的。它們的啟動原理也差不多,都是服務器接到客戶端的請求後,進行應答。不同的是,CGI對每個客戶請求都打開壹個進程(Process),而Servlet卻在響應第壹個請求的時候被載入,壹旦Servlet被載入,便處於已執行狀態。對於以後其他用戶的請求,它並不打開進程,而是打開壹個線程(Thread),將結果發送給客戶。由於線程與線程之間可以通過生成自己的父線程(Parent Thread)來實現資源***享,這樣就減輕了服務器的負擔,所以,Java Servlet可以用來做大規模的應用服務。

雖然在形式上JSP和ASP或PHP看上去很相似——都可以被內嵌在HTML代碼中。但是,它的執行方式和ASP或PHP完全不同。在JSP被執行的時候,JSP文件被JSP解釋器(JSP Parser)轉換成Servlet代碼,然後Servlet代碼被Java編譯器編譯成 .class 字節文件,這樣就由生成的Servlet來對客戶端應答。所以,JSP可以看做是Servlet的腳本語言(Script Language)版。

由於JSP/Servlet都是基於Java的,所以它們也有Java語言的最大優點——平臺無關性,也就是所謂的“壹次編寫,隨處運行(WORA – Write Once, Run Anywhere)”。除了這個優點,JSP/Servlet的效率以及安全性也是相當驚人的。因此,JSP/Servlet雖然在國內目前的應用並不廣泛,但是其前途不可限量。

在調試JSP代碼時,如果程序出錯,JSP服務器會返回出錯信息,並在瀏覽器中顯示。這時,由於JSP是先被轉換成Servlet後再運行的,所以,瀏覽器中所顯示的代碼出錯的行數並不是JSP源代碼的行數,而是指轉換後的Servlet程序代碼的行數。這給調試代碼帶來壹定困難。所以,在排除錯誤時,可以采取分段排除的方法(在可能出錯的代碼前後輸出壹些字符串,用字符串是否被輸出來確定代碼段從哪裏開始出錯),逐步縮小出錯代碼段的範圍,最終確定錯誤代碼的位置。主流網站開發語言之CGI:CGI就是公***網關接口 (Common Gateway Interface) 的縮寫。它是最早被用來建立動態網站的後臺技術。這種技術可以使用各種語言來編寫後臺程序,例如C,C++,Java,Pascal等,但是目前在CGI中使用的最為廣泛的是Perl語言。所以,狹義上所指的CGI程序壹般都是指Perl程序,壹般CGI程序的後綴都是.pl或者.cgi 。

CGI程序在運行的時候,首先是客戶向服務器上的CGI程序發送壹個請求,服務器接收到客戶的請求後,就會打開壹個新的Process(進程)來執行CGI程序,處理客戶的請求。CGI程序最後將執行的結果(HTML頁面代碼)傳回給客戶。

由於CGI程序每響應壹個客戶就會打開壹個新的進程,所以,當有多個用戶同時進行CGI請求的時候,服務器就會打開多個進程,這樣就加重了服務器的負擔,使服務器的執行效率變得越來越低下。這也就是最近幾年來隨著各種新的後臺技術的誕生,CGI應用在Internet上越來越少的原因。CGI方式不適合大訪問量的應用。如今主流的Web服務器軟件主要由IIS或Apache組成。IIS支持ASP且只能運行在Windows平臺下,Apache支持PHP,CGI,JSP且可運行於多種平臺,雖然Apache是世界使用排名第壹的Web服務器平臺,但是眾所周知,Windows以易用而出名,也因此占據不少的服務器市場。我們常用的開發組合:IIS環境下

1.ASP+ACCESS

2.ASP+SQL SERVER

3.ASP.NET+ACCESS

4.ASP.NET+SQL SERVER

APACHE環境下

5.jsp+Oracale

6.JSP+MYSQL

7.PHP+MYSQL

可以說,asp確實快過時了,在未來jsp和asp.net將會有巨大的潛力,但php憑借其開源的特性也會占有壹定份額。

vb壹般指vb6.0,是傳統的win32編程。vb.net和asp.net是基於微軟.net平臺的語言。說java好主要是因為java的j2ee部分做企業級開發很強大,而且跨平臺。c#是.net平臺上最好用的語言,現在只能運行在windows系統。 web開發方面.net和j2ee的競爭很激烈,難說以後鹿死誰手。 現在做網站大部分都是asp.net或jsp的,asp.net容易上手,比較普及,但是平臺單壹,jsp雖然上手難,但是跨平臺,安全性高。

下面比較壹下ASP、ASP.net、JSP和PHP的優點和缺點:ASP優點:

1. 無需編譯

2. 易於生成

3. 獨立於瀏覽器

4. 面向對象

5. 與任何ActiveX scripting 語言兼容

6. 源程序碼不會外漏缺點:

1、Windows本身的所有問題都會壹成不變的也累加到了它的身上。安全性、穩定性、跨平臺性都會因為與NT的捆綁而顯現出來。

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

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

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

5、還無法完全實現壹些企業級的功能:完全的集群、負載均橫。ASP.NET優點:

1. 簡潔的設計和實施。

2. 語言靈活,並支持復雜的面向對象特性。

3. 開發環境。缺點:

1.數據庫的連接復雜。JSP優點:

1、 壹處編寫隨處運行。

2、 系統的多臺平支持。

3、 強大的的可伸縮性。

4、 多樣化和功能強大的開發工具支持。缺點:

1、 與ASP壹樣,Java的壹些優勢正是它致命的問題所在。

2、 缺少系統性的資料。

3、 速度超慢PHP優點:

1、 壹種能快速學習、跨平臺、有良好數據庫交互能力的開發語言。

2、 簡單輕便,易學易用。

3、 與Apache及其它擴展庫結合緊密。

4、 良好的安全性。缺點:

1、 數據庫支持的極大變化。

2、 不適合應用於大型電子商務站點

3、 安裝復雜。

4、 缺少正規的商業支持。

5、 無法實現商品化應用的開發。

  • 上一篇:網絡銀行的信用風險如何控制
  • 下一篇:數據庫查詢
  • copyright 2024編程學習大全網