複製鏈接
請複製以下鏈接發送給好友

動態網頁技術

鎖定
動態網頁是與靜態網頁相對應的,也就是説,網頁 URL不固定,能通過後台與用户交互。完成用户查詢,提交等動作。常用的語言有ASPPHP,JSP等。動態網頁技術是區別於靜態網頁技術而言的。相比與傳統的靜態網頁,動態網頁有了明顯的交互性、自動更新性,以及因時因人而變的靈活性。
中文名
動態網頁技術
也就是説
能通過後台與用户交互
常用的語言
ASPPHPJSP
特    點
"交互性"等

目錄

  1. 1 特點
  2. 2 CGI
  3. 3 ASP
  1. 優點
  2. 缺點
  3. 4 PHP
  1. 5 JSP

動態網頁技術特點

所謂“動態”,並不是指放在網頁上的GIF圖片,動態網頁技術有以下幾個特點:
1. "交互性",即網頁會根據用户的要求和選擇而動態改變和響應,將瀏覽器作為客户端界面,這將是今後WEB發展的大勢所趨.
2. "自動更新",即無須手動地更新HTML文檔,便會自動生成新的頁面,可以大大節省工作量.
3. "因時因人而變",即當不同的時間,不同的人訪問同一網址時會產生不同的頁面。
除了早期的CGI外,主流的動態網頁技術有JSP,ASP,PHP等

動態網頁技術CGI

在早期,動態網頁技術主要採用CGI技術,即Common Gateway Interface(公用網關接口)。在早期,你可以使用不同的程序編寫合適的CGI程序,如Visual Basic,Delphi或C/C++等。雖然CGI技術成熟而且功能強大,但由於編程困難,效率低下,修改複雜等缺陷,所以有逐漸被新技術取代的趨勢。
可以使用不同的程序編寫合適的CGI程序,如Visual Basic、Delphi或C/C++等,用户將已經寫好的程序放在WEB服務器的計算機上運行,再將其運行結果通過WEB服務器傳輸到客户端的瀏覽器上。通過CGI建立WEB頁面與腳本程序之間的聯繫,並且可以利用腳本程序來處理訪問者輸入的信息並據此作出響應。事實上,這樣的編制方式比較困難而且效率低下,因為每一次修改程序都必須重新將CGI程序編譯可執行文件
最常用於編寫CGI技術的語言是Perl(Practical Extraction and Report Language,文字分析報告語言),它具有強大的字符串處理能力,特別適合用於分割處理客户端Form提交的數據串;用它來編寫的程序後綴為.pl。

動態網頁技術ASP

ASP為動態服務器網頁(ActiveServer Page)的簡稱。隨着Web技術的迅速發展,動態和個性化網頁的比重日益增加,而傳統緩存一般只適用於靜態內容,難以減少獲取動態網頁所需的流量和延時代價。ASP更精確的説是一箇中間件,這個中間件將Web上的請求轉入到一個解釋器中,在這個解釋器中將所有的ASP的Script進行分析,再進行執行,而這時可以在這個中間件中去創建一個新的COM對象,對這個對象中的屬性和方法進行操作和調用,同時再通過這些COM組件再完成更多的工作。所以説,ASP強大的不在於它的VBScript, 而在於它後台的COM組件,這些組件無限的擴充了ASP的能力。

動態網頁技術優點

1、簡單易學。Basic有誰不會?很少會有人舉手,所以有人在説這個開發基礎是最廣的。而且MS有一向做的非常好的聯機手冊,本地化語言的幫助,同時非常快的出現教學書籍,這樣會大大方便開發人員的學習和對技術的深入研究。
2、安裝使用方便。只要安裝了IIS,則ASP就可以使用了,不需要複雜配置的。
3、開發工具強大而多樣。這一點已經被許多程序員所津津樂道。易用、簡單、人性化。
4、效率高。在低的訪問量下,ASP能體現出一定的效率,這時它對機器的要求並不高。

動態網頁技術缺點

[1] 
1、Windows本身的所有問題都會一成不變的也累加到了它的身上。安全性、穩定性、跨平台性都會因為與NT的捆綁而顯現出來。
2、ASP由於使用了COM組件所以它會變的十分強大,但是這樣的強大由於Windows NT系統最初的設計問題而會引發大量的安全問題。只要在這樣的組件或是操作中一不注意,那麼外部攻擊就可以取得相當高的權限而導致網站癱瘓或者數據丟失。
3、由於ASP還是一種Script語言,所以除了大量使用組件外,沒有辦法提高其工作效率。它必須面對即時編譯的時間考驗,同時還不知其背後的組件會是一個什麼樣的狀況。
4、無法實現跨操作系統的應用。當然這也是微軟的理由之一,只有這樣才能發揮ASP最佳的能力。可是我卻認為正是Windows限制了ASP,ASP的概念本就是為一個能讓系統運行於一個大的多樣化環境而設計的。
5、還無法完全實現一些企業級的功能:完全的集羣、負載均衡。

動態網頁技術PHP

PHP(Hypertext Preprocessor)是一種HTML內嵌式的語言(類似於IIS上的ASP)。而PHP獨特的語法混合了C、Java、Perl以及PHP式的新語法。它可以比CGI或者Perl更快速的執行動態網頁。PHP是一種服務器端的HTML腳本/編程語言,語法上與C相似,可運行在Apache,Netscape/iPlanet和MicrosoftIIS Web等服務器上。
PHP能夠支持諸多數據庫,如MS SQL Server, MySql,Sybase,Oracle等。
它與HTML語言具有非常好的兼容性,使用者可以直接在腳本代碼中加入HTML標籤,或者在HTML標籤中加入腳本代碼從而更好地實現頁面控制。PHP提供了標準的數據庫接口,數據庫連接方便,兼容性強;擴展性強;可以進行面向對象編程。
優點
1.一種能快速學習、跨平台、有良好數據庫交互能力的開發語言。ASP比不上它的就是這種跨平台能力了,而正是它的這種能力讓Unix/Linux有了一種與ASP媲美的開發語言。語法簡單、書寫容易、市面上也有了大量的書,同時Internet上也有大量的代碼可以共享,對於一個初學者想學些“高深的Unix”下的開發來説是一個決好的入手點。
2.與Apache及其它擴展庫結合緊密。php與Apache可以以靜態編繹的方式結合起來,而與其它的擴展庫也可以用這樣的方式結合(除外的就是Windows平台了)。這樣的方式的最大的好處就是最大化的利用了cpu時和內存,同時極為有效的利用了apache的高性能的吞吐能力。同時外部的擴展也是靜態連編,從而達到了最快的運行速度。由於與數據庫的接口也使用了這樣的方式,所以使用的是本地化的調用,這也讓數據庫發揮了最佳效能。
3.良好的安全性。由於php本身的代碼開放所以它的代碼在許多工程師手中進行了檢測,同時它與apache編繹在一起的方式也可以讓它具有靈活的安全設定。所以php具有了公認的安全性能。
缺點
1. 數據庫支持的極大變化。由於php的所有的擴展接口都是獨立團隊開發完成的,同時在開發時為了形成相應數據的個性化操作,所以php雖然支持許多數據庫,可是針對每種數據庫的開發語言都完全不同。這樣形成針對一種數據庫的工發工作,在數據庫進行升級後需要開發人員進行幾乎全部的代碼更改工作。而為了讓應用支持更多種的數據庫,就需要開發人員將同樣的數據庫操作使用不同的代碼寫出n種代碼庫出來,讓程序員的工作量大大增大。
2. 安裝複雜。由於php的每一種擴充模塊並不是完全由php本身來完成,需要許多外部的應用庫,如圖形需要gd庫、LDAP需要LDAP庫.……這樣在安裝完成相應的應用後,再聯編進php中來。這也就是我以前在代碼聯盟新聞組中對網友所説的一定要在FreeBSD/Linux/Unix下運行php的原因。只有在這些環境下才能方便的編繹對應的擴展庫。這些都是一般開發人員在使用php前所先要面對的問題,正是這樣的問題讓許多開發人員轉而使用其它的開發語言,畢竟Unix沒有那麼多的用户。
3. 缺少企業級的支持。沒有組件的支持,那麼所有的擴充就只能依靠php開發組所給出的接口,事實上這樣的接口還不夠多。同時難以將集羣、應用服務器這樣的特性加入到系統中去。而一個大型的站點或是一個企業級的應用一定需要這樣的支持的。

動態網頁技術JSP

動態網頁設計中選擇合理的數據傳遞方式是非常重要的。JSP網頁間的數據傳遞有許多種不同的方法,而當頁面之間需要傳遞的數據的數據量不確定時,通常的方法難以實現。
JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客户端請求以後對這些Java代碼進行處理,然後將生成的HTML頁面返回給客户端的瀏覽器。Java Servlet 是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平台無關性且安全可靠,主要面向Internet的所有特點。
優點
1、一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統之外,代碼不用做任何更改。
2、系統的多平台支持。基本上可以在所有平台上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP/PHP的侷限性是現而易見的。
3、強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多台服務器進行集羣和負載均衡,到多台Application進行事務處理,消息處理,一台服務器到無數台服務器,Java顯示了一個巨大的生命力。
4、多樣化和功能強大的開發工具支持。這一點與ASP很像,Java已經有了許多非常優秀的開發工具,而且許多可以免費得到,並且其中許多已經可以順利的運行於多種平台之下。
缺點
1、與ASP一樣,Java的一些優勢正是它致命的問題所在。正是由於為了跨平台的功能,為了極度的伸縮能力,所以極大的增加了產品的複雜性。
2、Java的運行速度是用class常駐內存來完成的,所以它在一些情況下所使用的內存比起用户數量來説確實是“最低性能價格比”了。從另一方面,它還需要硬盤空間來儲存一系列的.java文件和.class文件,以及對應的版本文件。
參考資料
  • 1.    張彬橋;吳成明;;JSP數據庫分頁標籤的實現[A];2006北京地區高校研究生學術交流會——通信與信息技術會議論文集(下)[C];2006年