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