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://blog.sina.com.cn/s/blog_6c8d8f7001016i2k.html

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

 http://www.cnblogs.com/duncannjm/articles/1686698.html

8-1  四種后台語言的性能比較

后台界面

CGI

ASP(不含ASP.net

PHP

JSP/Servlet

操作系統

幾乎所有

Win32

幾乎所有

幾乎所有


(續表)

 

后台界面

CGI

ASP(不含ASP.net

PHP

JSP/Servlet

服務器

幾乎所有

IIS

非常多

非常多

執行效率

很快

極快

穩定性

中等

非常高

開發時間

中等

修改時間

中等

程序語言

不限,幾乎所有

VB

PHP

目前僅支持Java

網頁結合

學習門檻

較高

函數支持

不定

系統安全

極佳

使用網站

超多

目前一般

更新速度

較慢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM