所謂的動態(tài)網(wǎng)頁,是指跟靜態(tài)網(wǎng)頁相對的一種網(wǎng)頁編程技術。靜態(tài)網(wǎng)頁,隨著html代碼的生成,頁面的內(nèi)容和顯示效果就基本上不會發(fā)生變化了——除非你修改頁面代碼。而動態(tài)網(wǎng)頁則不然,頁面代碼雖然沒有變,但是顯示的內(nèi)容卻是可以隨著時間、環(huán)境或者數(shù)據(jù)庫操作的結果而發(fā)生改變的。
值得強調(diào)的是,不要將動態(tài)網(wǎng)頁和頁面內(nèi)容是否有動感混為一談。這里說的動態(tài)網(wǎng)頁,與網(wǎng)頁上的各種動畫、滾動字幕等視覺上的動態(tài)效果沒有直接關系,動態(tài)網(wǎng)頁也可以是純文字內(nèi)容的,也可以是包含各種動畫的內(nèi)容,這些只是網(wǎng)頁具體內(nèi)容的表現(xiàn)形式,無論網(wǎng)頁是否具有動態(tài)效果,只要是采用了動態(tài)網(wǎng)站技術生成的網(wǎng)頁都可以稱為動態(tài)網(wǎng)頁。
總之,動態(tài)網(wǎng)頁是基本的html語法規(guī)范與Java、VB、VC等高級程序設計語言、數(shù)據(jù)庫編程等多種技術的融合,以期實現(xiàn)對網(wǎng)站內(nèi)容和風格的高效、動態(tài)和交互式的管理。因此,從這個意義上來講,凡是結合了HTML以外的高級程序設計語言和數(shù)據(jù)庫技術進行的網(wǎng)頁編程技術生成的網(wǎng)頁都是動態(tài)網(wǎng)頁。
從網(wǎng)站瀏覽者的角度來看,無論是動態(tài)網(wǎng)頁還是靜態(tài)網(wǎng)頁,都可以展示基本的文字和圖片信息,但從網(wǎng)站開發(fā)、管理、維護的角度來看就有很大的差別。
早期的動態(tài)網(wǎng)頁主要采用公用網(wǎng)關接口CGI(CommonGatewayInterface)技術。您可以使用不同的程序編寫適合的CGI程序,如Visual Basic、Delphi或C/C++等。雖然CGI技術已經(jīng)發(fā)展成熟而且功能強大,但由于編程困難、效率低下、修改復雜,所以有逐漸被新技術取代的趨勢。
與靜態(tài)網(wǎng)頁相對應的,能與后臺數(shù)據(jù)庫進行交互,數(shù)據(jù)傳遞。也就是說,網(wǎng)頁 URL的后綴不是.htm、.html、.shtml、.xml等靜態(tài)網(wǎng)頁的常見形動態(tài)網(wǎng)頁制作格式,而是以.aspx、.asp、.jsp、.php、.perl、.cgi等形式為后綴,并且在動態(tài)網(wǎng)頁網(wǎng)址中有一個標志性的符號——“?”。。
簡要歸納如下:
(1)動態(tài)網(wǎng)頁一般以數(shù)據(jù)庫技術為基礎,可以大大降低網(wǎng)站維護的工作量;
(2)采用動態(tài)網(wǎng)頁技術的網(wǎng)站可以實現(xiàn)更多的功能,如用戶注冊、用戶登錄、在線調(diào)查、用戶管理、訂單管理等等;
(3)動態(tài)網(wǎng)頁實際上并不是獨立存在于服務器上的網(wǎng)頁文件,只有當用戶請求時服務器才返回一個完整的網(wǎng)頁;
(4)動態(tài)網(wǎng)頁中的“?”對搜索引擎檢索存在一定的問題,搜索引擎一般不可能從一個網(wǎng)站的數(shù)據(jù)庫中訪問全部網(wǎng)頁,或者出于技術方面的考慮,搜索之中不去抓取網(wǎng)址中“?”后面的內(nèi)容,因此采用動態(tài)網(wǎng)頁的網(wǎng)站在進行搜索引擎推廣時需要做一定的技術處理才能適應搜索引擎的要求。
一個在Web(網(wǎng)絡)服務器上運行的程序(服務器端腳本)是用來改變在不同的網(wǎng)頁之上的網(wǎng)頁內(nèi)容,或調(diào)節(jié)序列或重新加載的網(wǎng)頁。服務器響應來確定這種情況,張貼的超文本標記語言表單里頭的數(shù)據(jù),URL中的參數(shù),所使用的瀏覽器類型,時間流逝,或數(shù)據(jù)庫或服務器的狀態(tài)。
這些網(wǎng)頁通常都是如ASP,ColdFusion,Perl,PHP,WebDNA,或者其他的服務器端語言。這些服務器端語言經(jīng)常使用的通用網(wǎng)關接口(CGI)產(chǎn)生動態(tài)網(wǎng)頁。有兩個明顯的例外是asp.net和JSP(爪哇服務器頁面),在它們的API(程序編程接口)里頭會重復使用CGI的概念,但實際上所有的web(網(wǎng)絡)請求分派到壹個共享的虛擬機。動態(tài)網(wǎng)頁有很少或沒有預期變化時,往往會高速緩存和頁面預計會接收大量的網(wǎng)絡流量,會營造緩慢的加載時間至服務器。
客戶端腳本在一個特定的網(wǎng)頁面改變界面以及行為或響應鼠標或鍵盤操作,或在指定時間事件。在這種情況下,動態(tài)行為在發(fā)生時??蛻舳松傻膬?nèi)容在用戶的本地計算機系統(tǒng)里頭。
這些網(wǎng)頁使用的演示技術被稱為富接口頁面??蛻舳四_本語言,如JavaScript(爪哇腳本)或ActionScript(動作腳本),動態(tài)HTML(DHTML)和Flash技術的使用,經(jīng)常被用來編排媒體類型(聲音,動畫,修改文本等)的演示。該腳本還允許使用遠程腳本的壹種技術,DHTML頁面請求從服務器的其他信息,使用一個隱藏的框架,XMLHttpRequest或Web(網(wǎng)絡)服務。
1、PHP 即Hypertext Preprocessor(超文本預處理器),它是當今Internet上最為火熱的腳本語言,其語法借鑒了C、Java、PERL等語言,但只需要很少的編程知識你就能使用PHP建立一個真正交互的Web站點。
它與HTML語言具有非常好的兼容性,使用者可以直接在腳本代碼中加入HTML標簽,或者在HTML標簽中加入腳本代碼從而更好地實現(xiàn)頁面控制。PHP提供了標準的數(shù)據(jù)庫接口,數(shù)據(jù)庫連接方便,兼容性強;擴展性強;可以進行面向?qū)ο缶幊獭?
2、ASP 即Active Server Pages(活躍服務器頁),它是微軟開發(fā)的一種類似超文本標識語言(HTML)、腳本(Script)與CGI(公用網(wǎng)關接口)的結合體,它沒有提供自己專門的編程語言,而是允許用戶使用許多已有的腳本語言編寫ASP的應用程序。ASP的程序編制比HTML更方便且更有靈活性。它是在Web服務器端運行,運行后再將運行結果以HTML格式傳送至客戶端的瀏覽器。因此ASP與一般的腳本語言相比,要安全得多。
ASP的最大好處是可以包含HTML標簽,也可以直接存取數(shù)據(jù)庫及使用無限擴充的ActiveX控件,因此在程序編制上要比HTML方便而且更富有靈活性。通過使用ASP的組件和對象技術,用戶可以直接使用ActiveX控件,調(diào)用對象方法和屬性,以簡單的方式實現(xiàn)強大的交互功能。
但ASP技術也非完美無缺,由于它基本上是局限于微軟的操作系統(tǒng)平臺之上,主要工作環(huán)境是微軟的IIS應用程序結構,又因ActiveX對象具有平臺特性,所以ASP技術不能很容易地實現(xiàn)在跨平臺Web服務器上工作。
aspx是微軟的在服務器端運行的動態(tài)網(wǎng)頁文件,通過IIS解析執(zhí)行后可以得到動態(tài)頁面,是微軟推出的一種新的網(wǎng)絡編程方法,而不是asp的簡單升級,因為它的編程方法和asp有很大的不同,他是在服務器端靠服務器編譯執(zhí)行的程序代碼,ASP 使用腳本語言,每次請求的時候,服務器調(diào)用腳本解析引擎來解析執(zhí)行其中的程序代碼,而asp.net 則可以使用多種語言編寫,而且是全編譯執(zhí)行的,比ASP 快,而且,不僅僅是快的問題,有很多優(yōu)點。
3、JSP 即Java Server Pages(爪哇服務器頁面),它是由Sun Microsystem公司于1999年6月推出的新技術,是基于Java Servlet以及整個Java(爪哇)體系的Web開發(fā)技術。
JSP和ASP在技術方面有許多相似之處,不過兩者來源于不同的技術規(guī)范組織,以至 ASP一般只應用于Windows NT/2000平臺,而JSP則可以在85%以上的服務器上運行,而且基于JSP技術的應用程序比基于ASP的應用程序易于維護和管理,所以被許多人認為是未來最有發(fā)展前途的動態(tài)網(wǎng)站技術。
4、CGI(Common Gateway Interface,公用網(wǎng)關接口)是較早用來建立動態(tài)網(wǎng)頁的技術。當客戶端向Web服務器上指定的CGI程序發(fā)出請求時,Web服務器會啟動一個新的進程執(zhí)行某些CGI程序,程序執(zhí)行后將結果以網(wǎng)頁的形式再發(fā)送回客戶端。
CGI的優(yōu)點是它可以用很多語言編寫,如 C 、C++ 、VB和Perl語言。在語言的選擇上有很大的靈活性。最常用的CGI開發(fā)語言為Perl。
asp.net 是建立在公共語言運行庫上的編程框架,可用于在服務器上生成功能強大的 Web應用程序。與以前的 Web 開發(fā)模型相比,asp.net 提供了數(shù)個重要的優(yōu)點:
1)增強的性能。asp.net 是在服務器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同,asp.net 可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務。這相當于在編寫代碼行之前便顯著提高了性能。
2)世界級的工具支持。asp.net 框架補充了 Visual Studio集成開發(fā)環(huán)境中的大量工具箱和設計器。WYSIWYG 編輯、拖放服務器控件和自動部署只是這個強大的工具所提供功能中的少數(shù)幾種。
3)威力和靈活性。由于 asp.net 基于公共語言運行庫,因此 Web應用程序開發(fā)人員可以利用整個平臺的威力和靈活性。.NET 框架類庫、消息處理和數(shù)據(jù)訪問解決方案都可從 Web 無縫訪問。asp.net 也與語言無關,所以可以選擇最適合應用程序的語言,或跨多種語言分割應用程序。另外,公共語言運行庫的交互性保證在遷移到 asp.net 時保留基于 COM 的開發(fā)中的現(xiàn)有投資。
1、首先動態(tài)網(wǎng)頁在訪問速度上不占優(yōu)勢
動態(tài)網(wǎng)頁首先獲得用戶的指令,然后網(wǎng)頁拿著指令到數(shù)據(jù)庫中找和指令相對應的數(shù)據(jù),然后傳遞給服務器,通過服務器的編譯把動態(tài)頁面編譯成標準的HTML代碼,傳遞給用戶瀏覽器,這樣用戶就看到了網(wǎng)頁。問題出來了,每次訪問網(wǎng)頁都要經(jīng)過這么一個過程,這一過程至少需要幾秒鐘的時間,訪問的人數(shù)一多,頁面的加載速度就會變慢,對服務器來說也是一種負擔;從用戶角度來說,網(wǎng)頁加載的慢,遲遲沒有反應,下次誰還會來訪問你的網(wǎng)站。
而靜態(tài)網(wǎng)頁就簡單了,靜態(tài)網(wǎng)頁是實際存在的,無需經(jīng)過服務器的編譯,直接加載到客戶瀏覽器上顯示出來。
由此可見,動態(tài)網(wǎng)頁在訪問速度上并不占優(yōu)勢。
2、在搜索引擎收錄方面并不占優(yōu)勢
上面從服務器和用戶體驗的角度說了一下,下面再從搜索引擎收錄角度說一下,動態(tài)網(wǎng)頁是在用戶輸入指令后才形成的頁面,并不存在這個頁面,而搜索引擎只會抓取現(xiàn)成的,并不會自己輸入,因此網(wǎng)站在搜索引擎收錄方面并不占優(yōu)勢。搜索引擎還是喜歡靜態(tài)頁面。不過搜索引擎在不斷完善發(fā)展。到目前為止,絕大多數(shù)的搜索引擎都已支持動態(tài)頁面的抓取。
看到這里,相信大家都知道動態(tài)頁面是什么了吧,小編表示也知道什么是動態(tài)頁面了。