CGI、ASP、PHP、JSP、 ASP.NET網站開發語言比較
CGI、ASP、PHP、JSP、 ASP.NET 網站開發語言比較
一、主流網站開發語言的簡介及優缺點。
現在主流的網站開發語言主要包括cgi、asp、php、asp.net、jsp等。
HTML:當然這是網頁最基本的語言,每一個服務器語言都需要它的支持。
(一) 網站開發語言之ASP:
ASP(Active Server Pages)是微軟平台下的動態網頁技術.Microsoft提出的ASP概念,使設計交互式Web頁面的技術有了長足的進步。它採用了三層計算結構,將Web服務器(邏輯層),客户端瀏覽器(表示層)以及數據庫服務器(數據層)分開,具有良好的擴充性。
ASP在執行的時候,是由IIS調用進程引擎,解釋執行嵌在HTML中的ASP代碼,最終將結果和原來的HTML一同送往客户端。
ASP是和平台相關的,只能運行在Windows平台上。而Unix的健壯性和Linux的源碼開放性使它們廣泛地應用在網站服務器中,相比之下,ASP的平台相關性大大制約了它的應用。
(二) 主流網站開發語言之PHP:
PHP(Personal Home Pages)是一種服務器端的嵌入HTML的腳本語言,可以運行於多種平台。借鑑了C語言,Java語言和Perl語言的語法,同時具有自己獨特的語法。
由於PHP採用Open Source方式,它的源代碼完全公開,使得它可以不斷有新的東西加進來,形成龐大的函數庫,以至實現更多的功能。PHP在數據庫支持方面做得非常好,它能支持現在幾乎所有的數據庫。
PHP的缺點就是沒有像JSP和ASP那樣對組件的支持,擴展性較差。Personal Home Pages,顧名思義,只能適應中小流量的網站。
(三)主流網站開發語言之JSP:
JSP的全稱是Java Server Pages,它是SUN推出的一種動態網頁技術標準。它在傳統的靜態頁面文檔(*.html,*.htm)中加入Java進程片段和JSP標記,就構成了JSP頁面。
JSP支持絕大部分平台,包括現在非常流行的Linux系統,應用非常廣泛的Apache服務器也提供了支持JSP的服務。 組件的開發和使用很方便 ASP的組件是由C++,VB等語言開發的,並需要註冊才能使用;而JSP的組件是用Java開發的,可以直接使用。JavaBeans的使用也很方便,又由於Java的跨平台性,也使得Javabeans的可移植性和可重用性非常高。
一次編寫,處處運行(Write once,Run everywhere)作為Java開發平台的一部分,JSP具有Java的所有優點,包括Write once,Run everywhere。
所有這些都顯示了JSP強大的功能。但由於它出現得比較晚,在某些方面還不夠規範。
(四)主流網站開發語言之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方式不適合大訪問量的應用。
二、比較一下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、還無法完全實現一些企業級的功能:完全的集羣、負載均橫。
(二)JSP
優點:
1、一處編寫隨處運行。
2、系統的多台平支持。
3、強大的的可伸縮性。
4、多樣化和功能強大的開發工具支持。
缺點:
1、與ASP一樣,Java的一些優勢正是它致命的問題所在。
2、缺少系統性的資料。
3、速度超慢
(三)PHP
優點:
1、一種能快速學習、跨平台、有良好數據庫交互能力的開發語言。
2、簡單輕便,易學易用。
3、與Apache及其它擴展庫結合緊密。
4、良好的安全性。
缺點:
1、數據庫支持的極大變化。
2、不適合應用於大型電子商務站點
3、安裝複雜。
4、缺少正規的商業支持。
5、無法實現商品化應用的開發。
(四)CGI
優點:
1、它可以用很多種語言編寫,比如C,C++,VB和Perl語言,在選擇上有很大的靈活性.目前大多使用Perl編寫CGI.
缺點:
2、是維護複雜,運行效率低下,主要表現在以下幾個方面:
(1)CGI進程是以獨立的進程方式運行的,這樣,當用户訪問數量增大時,會嚴重地損耗系統資源,大幅度地降低系統性能.
(2)CGI進程不是常駐內存的,因此,當用户頻繁訪問CGI進程時,會導致大量的磁盤操作,從而造成系統性能的下降.
(3)訪問數據庫的進程不容易編寫.
由於CGI進程存在上述缺點,因此,隨後又出現了FastCGI技術,它在CGI的基礎上進行了一些改進,將CGI進程常駐在內存中,使得系統性能有了改善,但是,在大量用户訪問時,它仍然會消耗過多的內存資源。
三、主流的Web服務器軟件
如今主流的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,PHP,JSP,ASP.NET 這是當前比較流行的四種WEB網站編程語言,現在做網站大部分都是使用這幾種語言中的其一 .
(一)ASP是基於WINDOWS平台的,簡單易用,由於是運行在WINDOWS平台上,所以移植性不好,不能跨平台運行.但是國內現在大部分的網站都是使用它來開發的.
(二)PHP是當前興起備受推崇的一種WEB編程語言,開源且跨平台,在歐美都比較的流行,最近在國內也很受許多網站開發者的歡迎.開發效率高,成本低!
(三)JSP是了SUN公司推出的一種網絡編程語言,比較難學(是網上公認的),跨平台運行.安全性比較高,運行效率也比較的快.備受企業級的公司及銀行金融機構使用. 主流網站開發語言之ASP.NET從某種意義上説應該是ASP版本的升級,但是它又不完全是從(四)ASP上升級來的,ASP.NET的推出是微軟為了與 SUN公司的JSP在網絡上的迅猛發展抵抗的,.NET架構現在有許多人都在學習,主要是開發的效率比較的高.但是還是基於WIN平台運行,不能跨平台.
可以説,asp確實快過時了,在未來jsp和asp.net將會有巨大的潛力,但php憑藉其開源的特性也會佔有一定份額,並且現在國內外多數網站都是用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雖然上手難,但是跨平台,安全性高. 大型網站很少有用windows系統的。
===========================================================
http://www.cnblogs.com/duncannjm/articles/1686698.html
後台界面 | CGI | ASP(不含ASP.net) | PHP | JSP/Servlet |
操作系統 | 幾乎所有 | Win32 | 幾乎所有 | 幾乎所有 |
後台界面 | 幾乎所有 | ASP(不含ASP.net) | PHP | JSP/Servlet |
執行效率 | 慢 | 快 | 很快 | 極快 |
穩定性 | 高 | 中等 | 高 | 非常高 |
開發時間 | 長 | 短 | 短 | 中等 |
修改時間 | 長 | 短 | 短 | 中等 |
進程語言 | 不限,幾乎所有 | VB | PHP | 目前僅支持Java |
網頁結合 | 差 | 優 | 優 | 優 |
學習門檻 | 高 | 低 | 低 | 較高 |
函數支持 | 不定 | 少 | 多 | 多 |
系統安全 | 佳 | 低 | 佳 | 極佳 |
使用網站 | 多 | 多 | 超多 | 目前一般 |
更新速度 | 無 | 慢 | 快 | 較慢 |
留言
張貼留言