“動(dòng)態(tài)”,并不是指那幾個(gè)放在網(wǎng)頁(yè)上的GIF圖片,動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)有以下幾個(gè)特點(diǎn)。
1,"交互性"即網(wǎng)頁(yè)會(huì)根據(jù)用戶(hù)的要求和選擇而動(dòng)態(tài)改變和響應(yīng),將瀏覽器作為客戶(hù)端界面,這將是今后WEB發(fā)展的大事所趨.
2,"自動(dòng)更新"即無(wú)須手動(dòng)地更新HTML文檔,便會(huì)自動(dòng)生成新的頁(yè)面,可以大大節(jié)省工作量.
3,"因時(shí)因人而變",即當(dāng)不同的時(shí)間,不同的人訪問(wèn)同一網(wǎng)址時(shí)會(huì)產(chǎn)生不同的頁(yè)面。
除了早期的CGI外,目前主流的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)有JSP,ASP,PHP等
CGI在早期,動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)主要采用CGI技術(shù),即Common Gateway Interface(公用網(wǎng)關(guān)接口)。在早期,你可以使用不同的程序編寫(xiě)合適的CGI程序,如Visual Basic,Delphi或C/C++等。雖然CGI技術(shù)成熟而且功能強(qiáng)大,但由于編程困難,效率低下,修改復(fù)雜等缺陷,所以有逐漸被新技術(shù)取代的趨勢(shì)。
可以使用不同的程序編寫(xiě)合適的CGI程序,如Visual Basic、Delphi或C/C++等,您將已經(jīng)寫(xiě)好的程序放在WEB服務(wù)器的計(jì)算機(jī)上運(yùn)行,再將其運(yùn)行結(jié)果通過(guò)WEB服務(wù)器傳輸?shù)娇蛻?hù)端的瀏覽器上。我們通過(guò)CGI建立WEB頁(yè)面與腳本程序之間的聯(lián)系,并且可以利用腳本程序來(lái)處理訪問(wèn)者輸入的信息并據(jù)此作出響應(yīng)。事實(shí)上,這樣的編制方式比較困難而且效率低下,因?yàn)槟忝恳淮涡薷某绦蚨急仨氈匦聦GI程序編譯成可執(zhí)行文件。
最常用于編寫(xiě)CGI技術(shù)的語(yǔ)言是Perl(Practical Extraction and Report Language,文字分析報(bào)告語(yǔ)言),它具有強(qiáng)大的字符串處理能力,特別適合用于分割處理客戶(hù)端Form提交的數(shù)據(jù)串;用它來(lái)編寫(xiě)的程序后綴為.pl。
ASPASP更精確的說(shuō)是一個(gè)中間件,這個(gè)中間件將Web上的請(qǐng)求轉(zhuǎn)入到一個(gè)解釋器中,在這個(gè)解釋器中將所有的ASP的Script進(jìn)行分析,再進(jìn)行執(zhí)行,而這時(shí)可以在這個(gè)中間件中去創(chuàng)建一個(gè)新的COM對(duì)象,對(duì)這個(gè)對(duì)象中的屬性和方法進(jìn)行操作和調(diào)用,同時(shí)再通過(guò)這些COM組件再完成更多的工作。所以說(shuō),ASP強(qiáng)大的不在于它的VBScript, 而在于它后臺(tái)的COM組件,這些組件來(lái)無(wú)限的擴(kuò)充了ASP的能力。
強(qiáng)勢(shì):
1簡(jiǎn)單易學(xué)。Basic有誰(shuí)不會(huì)?很少會(huì)有人舉手,所以有人在說(shuō)這個(gè)開(kāi)發(fā)基礎(chǔ)是最廣的。而且MS有一向做的非常好的聯(lián)機(jī)手冊(cè),本地化語(yǔ)言的幫助,同時(shí)非??斓某霈F(xiàn)教學(xué)書(shū)籍,這樣會(huì)大大方便開(kāi)發(fā)人員的學(xué)習(xí)和對(duì)技術(shù)的深入研究。
2、安裝使用方便。裝好一個(gè)Windows 2000,只要你安裝了IIS哪么ASP就可以使用了,從沒(méi)有什么需要你花心思去配置的。
3、開(kāi)發(fā)工具強(qiáng)大而多樣。這個(gè)我不用說(shuō)了,可以說(shuō)的就是我以前使用VB中的Web Class開(kāi)發(fā)出的Web應(yīng)用一點(diǎn)不差,當(dāng)時(shí)讓許多人大吃一驚,VB也能做ASP上的應(yīng)用!?。∑鋵?shí)這正說(shuō)明了ASP開(kāi)發(fā)工具的多樣化,同時(shí)它們的功能也很強(qiáng),這一點(diǎn)已經(jīng)被許多程序員所津津樂(lè)道。易用、簡(jiǎn)單、人性化,這本就是微軟的強(qiáng)項(xiàng)喲。
4、效率高。在低的訪問(wèn)量下,ASP能體現(xiàn)出一定的效率,這時(shí)它對(duì)機(jī)器的要求并不高。
弱勢(shì):1Windows本身的所有問(wèn)題都會(huì)一成不變的也累加到了它的身上。安全性、穩(wěn)定性、跨平臺(tái)性(Win2K已經(jīng)不再支持Alpha了)都會(huì)因?yàn)榕cNT的捆綁而顯現(xiàn)出來(lái)。
2、ASP由于使用了COM組件所以它會(huì)變的十分強(qiáng)大,但是這樣的強(qiáng)大由于Windows NT系統(tǒng)最初的設(shè)計(jì)問(wèn)題而會(huì)引發(fā)大量的安全問(wèn)題。只要在這樣的組件或是操作中一不注意,哪么外部攻擊就可以取得相當(dāng)高的權(quán)限而導(dǎo)致網(wǎng)站癱瘓或者數(shù)據(jù)丟失。
3、由于ASP還是一種Script語(yǔ)言,所以除了大量使用組件外,沒(méi)有辦法提高其工作效率。它必須面對(duì)即時(shí)編譯的時(shí)間考驗(yàn),同時(shí)我們還不知其背后的組件會(huì)是一個(gè)什么樣的狀況。
4、無(wú)法實(shí)現(xiàn)跨操作系統(tǒng)的應(yīng)用。當(dāng)然這也是微軟的理由之一,只有這樣才能發(fā)揮ASP好的能力??墒俏覅s認(rèn)為正是Windows限制了ASP,ASP的概念本就是為一個(gè)能讓系統(tǒng)運(yùn)行于一個(gè)大的多樣化環(huán)境而設(shè)計(jì)的。
5、還無(wú)法完全實(shí)現(xiàn)一些企業(yè)級(jí)的功能:完全的集群、負(fù)載均衡。
PHP
PHP(Hypertext Preprocessor)是一種HTML內(nèi)嵌式的語(yǔ)言(類(lèi)似于IIS上的ASP)。而PHP獨(dú)特的語(yǔ)法混合了C、Java、Perl以及PHP式的新語(yǔ)法。它可以比CGI或者Perl更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。
PHP能夠支持諸多數(shù)據(jù)庫(kù),如MS SQL Server, MySql,Sybase,Oracle等。
它與HTML語(yǔ)言具有非常好的兼容性,使用者可以直接在腳本代碼中加入HTML標(biāo)簽,或者在HTML標(biāo)簽中加入腳本代碼從而更好地實(shí)現(xiàn)頁(yè)面控制。PHP提供了標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)接口,數(shù)據(jù)庫(kù)連接方便,兼容性強(qiáng);擴(kuò)展性強(qiáng);可以進(jìn)行面向?qū)ο缶幊獭?br/>
1 PHP的強(qiáng)勢(shì)1.一種能快速學(xué)習(xí)、跨平臺(tái)、有良好數(shù)據(jù)庫(kù)交互能力的開(kāi)發(fā)語(yǔ)言。ASP比不上它的就是這種跨平臺(tái)能力了,而正是它的這種能力讓Unix/Linux有了一種與ASP媲美的開(kāi)發(fā)語(yǔ)言。語(yǔ)法簡(jiǎn)單、書(shū)寫(xiě)容易、現(xiàn)在市面上也有了大量的書(shū),同時(shí)Internet上也有大量的代碼可以共享,對(duì)于一個(gè)初學(xué)者想學(xué)些“高深的Unix”下的開(kāi)發(fā)來(lái)說(shuō)是一個(gè)決好的入手點(diǎn)。
2.與Apache及其它擴(kuò)展庫(kù)結(jié)合緊密。php與Apache可以以靜態(tài)編繹的方式結(jié)合起來(lái),而與其它的擴(kuò)展庫(kù)也可以用這樣的方式結(jié)合(除外的就是Windows平臺(tái)了)。這樣的方式的大的好處就是大化的利用了cpu時(shí)和內(nèi)存,同時(shí)極為有效的利用了apache的高性能的吞吐能力。同時(shí)外部的擴(kuò)展也是靜態(tài)連編,從而達(dá)到了最快的運(yùn)行速度。由于與數(shù)據(jù)庫(kù)的接口也使用了這樣的方式,所以使用的是本地化的調(diào)用,這也讓數(shù)據(jù)庫(kù)發(fā)揮了好效能。
3.良好的安全性。由于php本身的代碼開(kāi)放所以它的代碼在許多工程師手中進(jìn)行了檢測(cè),同時(shí)它與apache編繹在一起的方式也可以讓它具有靈活的安全設(shè)定。所以到現(xiàn)在為止,php具有了公認(rèn)的安全性能。
弱勢(shì):
1. 據(jù)庫(kù)支持的極大變化。由于php的所有的擴(kuò)展接口都是獨(dú)立團(tuán)隊(duì)開(kāi)發(fā)完成的,同時(shí)在開(kāi)發(fā)時(shí)為了形成相應(yīng)數(shù)據(jù)的個(gè)性化操作,所以php雖然支持許多數(shù)據(jù)庫(kù),可是針對(duì)每種數(shù)據(jù)庫(kù)的開(kāi)發(fā)語(yǔ)言都完全不同。這樣形成針對(duì)一種數(shù)據(jù)庫(kù)的工發(fā)工作,在數(shù)據(jù)庫(kù)進(jìn)行升級(jí)后需要開(kāi)發(fā)人員進(jìn)行幾乎全部的代碼更改工作。而為了讓?xiě)?yīng)用支持更多種的數(shù)據(jù)庫(kù),就需要開(kāi)發(fā)人員將同樣的數(shù)據(jù)庫(kù)操作使用不同的代碼寫(xiě)出n種代碼庫(kù)出來(lái),讓程序員的工作量大大增大。
2. 安裝復(fù)雜。由于php的每一種擴(kuò)充模塊并不是完全由php本身來(lái)完成,需要許多外部的應(yīng)用庫(kù),如圖形需要gd庫(kù)、LDAP需要LDAP庫(kù).……這樣在安裝完成相應(yīng)的應(yīng)用后,再聯(lián)編進(jìn)php中來(lái)。這也就是我以前在代碼聯(lián)盟新聞組中對(duì)網(wǎng)友所說(shuō)的一定要在FreeBSD/Linux/Unix下運(yùn)行php的原因。只有在這些環(huán)境下才能方便的編繹對(duì)應(yīng)的擴(kuò)展庫(kù)。這些都是一般開(kāi)發(fā)人員在使用php前所先要面對(duì)的問(wèn)題,正是這樣的問(wèn)題讓許多開(kāi)發(fā)人員轉(zhuǎn)而使用其它的開(kāi)發(fā)語(yǔ)言,畢竟Unix沒(méi)有那么多的用戶(hù)。
3. 缺少企業(yè)級(jí)的支持。沒(méi)有組件的支持,哪么所有的擴(kuò)充就只能依靠php開(kāi)發(fā)組所給出的接口,事實(shí)上這樣的接口還不夠多。同時(shí)難以將集群、應(yīng)用服務(wù)器這樣的特性加入到系統(tǒng)中去。而一個(gè)大型的站點(diǎn)或是一個(gè)企業(yè)級(jí)的應(yīng)用一定需要這樣的支持的。注:在php的4.0版本以后加入了對(duì)servlet/javabean的支持,也許這樣的支持會(huì)在以后的版本中更加增強(qiáng),也許這樣的支持會(huì)是php以后的企業(yè)級(jí)支持的起點(diǎn)。
4. 缺少正規(guī)的商業(yè)支持。這也是自由軟件一向的缺點(diǎn),我想在國(guó)內(nèi)php的開(kāi)發(fā)人員正在快速增加,相信在不久的將來(lái),這樣的支持能多起來(lái)。
5. 無(wú)法實(shí)現(xiàn)商品化應(yīng)用的開(kāi)發(fā)。由于php沒(méi)有任何編繹性的開(kāi)發(fā)工作,所有的開(kāi)發(fā)都是基于腳本技術(shù)來(lái)完成的。所以所有的源代碼都無(wú)法編譯,所以做完成的應(yīng)用只能是自己或是內(nèi)部使用,無(wú)法實(shí)現(xiàn)商品化。
JSP
JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶(hù)端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶(hù)端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο螅哂衅脚_(tái)無(wú)關(guān)性且安全可靠,主要面向Internet的所有特點(diǎn)。
1. JSP技術(shù)的強(qiáng)勢(shì)
(1)一次編寫(xiě),到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改
(2)系統(tǒng)的多平臺(tái)支持。基本上可以在所有平臺(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是現(xiàn)而易見(jiàn)的。
(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。
(4)多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。
2. JSP技術(shù)的弱勢(shì)
(1) 與ASP一樣,Java的一些優(yōu)勢(shì)正是它致命的問(wèn)題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。
(2) Java的運(yùn)行速度是用class常駐內(nèi)存來(lái)完成的,所以它在一些情況下所使用的內(nèi)存比起用戶(hù)數(shù)量來(lái)說(shuō)確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤(pán)空間來(lái)儲(chǔ)存一系列的.java文件和.class文件,以及對(duì)應(yīng)的版本文件。
當(dāng)前題目:網(wǎng)站建設(shè)中動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)
本文URL:http://redsoil1982.com.cn/news40/136740.html
網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專(zhuān)注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷(xiāo)seo公司;服務(wù)項(xiàng)目有網(wǎng)站建設(shè)等
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)