1、主流網站開發語言的簡介及優缺點。php
如今主流的網站開發語言主要包括cgi、asp、php、asp.net、jsp等。html
HTML:固然這是網頁最基本的語言,每個服務器語言都須要它的支持。java
(一) 網站開發語言之ASP:web
ASP(Active Server Pages)是微軟平臺下的動態網頁技術.Microsoft提出的ASP概念,使設計交互式Web頁面的技術有了長足的進步。它採用了三層計算結構,將Web服務器(邏輯層),客戶端瀏覽器(表示層)以及數據庫服務器(數據層)分開,具備良好的擴充性。數據庫
ASP在執行的時候,是由IIS調用程序引擎,解釋執行嵌在HTML中的ASP代碼,最終將結果和原來的HTML一同送往客戶端。編程
ASP是和平臺相關的,只能運行在Windows平臺上。而Unix的健壯性和Linux的源碼開放性使它們普遍地應用在網站服務器中,相比之下,ASP的平臺相關性大大制約了它的應用。c#
(二) 主流網站開發語言之PHP:windows
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方式不適合大訪問量的應用。
2、比較一下ASP、ASP.net、JSP和PHP的優勢和缺點:
(一)ASP
優勢:1. 無需編譯
2. 易於生成
3. 獨立於瀏覽器
4. 面向對象
5. 與任何ActiveX scripting 語言兼容
6. 源程序碼不會外漏
缺點:
一、Windows自己的全部問題都會一成不變的也累加到了它的身上。安全性、穩定性、跨平臺性都會由於與NT的捆綁而顯現出來。
二、ASP因爲使用了COM組件因此它會變的十分強大,可是這樣的強大因爲Windows NT系統最初的設計問題而會引起大量的安全問題。只要在這樣的組件或是操做中一不注意,哪麼外部攻擊就能夠取得至關高的權限而致使網站癱瘓或者數據丟失。
三、因爲ASP仍是一種Script語言所沒除了大量使用組件外,沒有辦法提升其工做效率。它必須面對即時編繹的時間考驗,同時咱們還不知其背後的組件會是一個什麼樣的情況。
四、沒法實現跨操做系統的應用。固然這也是微軟的理由之一,只有這樣才能發揮ASP最佳的能力。但是我卻認爲正是Windows限制了ASP,ASP的概念本就是爲一個能讓系統運行於一個大的多樣化環境而設計的。
五、還沒法徹底實現一些企業級的功能:徹底的集羣、負載均橫。
(二)JSP
優勢:
一、一處編寫隨處運行。
二、系統的多臺平支持。
三、強大的的可伸縮性。
四、多樣化和功能強大的開發工具支持。
缺點:
一、與ASP同樣,Java的一些優點正是它致命的問題所在。
二、缺乏系統性的資料。
三、速度超慢
(三)PHP
優勢:
一、一種能快速學習、跨平臺、有良好數據庫交互能力的開發語言。
二、簡單輕便,易學易用。
三、與Apache及其它擴展庫結合緊密。
四、良好的安全性。
缺點:
一、數據庫支持的極大變化。
二、不適合應用於大型電子商務站點
三、安裝複雜。
四、缺乏正規的商業支持。
五、沒法實現商品化應用的開發。
(四)CGI
優勢:
一、它能夠用不少種語言編寫,好比C,C++,VB和Perl語言,在選擇上有很大的靈活性.目前大多使用Perl編寫CGI.
缺點:
二、是維護複雜,運行效率低下,主要表如今如下幾個方面:
(1)CGI程序是以獨立的進程方式運行的,這樣,當用戶訪問數量增大時,會嚴重地損耗系統資源,大幅度地下降系統性能.
(2)CGI程序不是常駐內存的,所以,當用戶頻繁訪問CGI程序時,會致使大量的磁盤操做,從而形成系統性能的降低.
(3)訪問數據庫的程序不容易編寫.
因爲CGI程序存在上述缺點,所以,隨後又出現了FastCGI技術,它在CGI的基礎上進行了一些改進,將CGI程序常駐在內存中,使得系統性能有了改善,可是,在大量用戶訪問時,它仍然會消耗過多的內存資源。
3、主流的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 |
網頁結合 |
差 |
優 |
優 |
優 |
學習門檻 |
高 |
低 |
低 |
較高 |
函數支持 |
不定 |
少 |
多 |
多 |
系統安全 |
佳 |
低 |
佳 |
極佳 |
使用網站 |
多 |
多 |
超多 |
目前通常 |
更新速度 |
無 |
慢 |
快 |
較慢 |