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

動態網頁

鎖定
所謂的動態網頁,是指跟靜態網頁相對的一種網頁編程技術。靜態網頁,隨着html代碼的生成,頁面的內容和顯示效果就基本上不會發生變化了——除非你修改頁面代碼。而動態網頁則不然,頁面代碼雖然沒有變,但是顯示的內容卻是可以隨着時間、環境或者數據庫操作的結果而發生改變的。
值得強調的是,不要將動態網頁和頁面內容是否有動感混為一談。這裏説的動態網頁,與網頁上的各種動畫、滾動字幕等視覺上的動態效果沒有直接關係,動態網頁也可以是純文字內容的,也可以是包含各種動畫的內容,這些只是網頁具體內容的表現形式,無論網頁是否具有動態效果,只要是採用了動態網站技術生成的網頁都可以稱為動態網頁。
總之,動態網頁是基本的html語法規範與JavaVB、VC等高級程序設計語言數據庫編程等多種技術的融合,以期實現對網站內容和風格的高效、動態和交互式的管理。因此,從這個意義上來講,凡是結合了HTML以外的高級程序設計語言和數據庫技術進行的網頁編程技術生成的網頁都是動態網頁。
中文名
動態網頁
外文名
active web page
相關技術
asp,jsp,php,cgi等

動態網頁簡介

從網站瀏覽者的角度來看,無論是動態網頁還是靜態網頁,都可以展示基本的文字和圖片信息,但從網站開發、管理、維護的角度來看就有很大的差別。
早期的動態網頁主要採用公用網關接口CGI(CommonGatewayInterface)技術。您可以使用不同的程序編寫適合的CGI程序,如Visual Basic、Delphi或C/C++等。雖然CGI技術已經發展成熟而且功能強大,但由於編程困難、效率低下、修改複雜,所以有逐漸被新技術取代的趨勢。
與靜態網頁相對應的,能與後台數據庫進行交互,數據傳遞。也就是説,網頁 URL的後綴不是.htm、.html、.shtml、.xml等靜態網頁的常見形動態網頁製作格式,而是以.aspx、.asp、.jsp、.php、.perl、.cgi等形式為後綴,並且在動態網頁網址中有一個標誌性的符號——“?”。

動態網頁特徵

簡要歸納如下:
(1)動態網頁一般以數據庫技術為基礎,可以大大降低網站維護的工作量;
(2)採用動態網頁技術的網站可以實現更多的功能,如用户註冊、用户登錄、在線調查、用户管理訂單管理等等;
(3)動態網頁實際上並不是獨立存在於服務器上的網頁文件,只有當用户請求時服務器才返回一個完整的網頁;
(4)動態網頁中的“?”對搜索引擎檢索存在一定的問題,搜索引擎一般不可能從一個網站的數據庫中訪問全部網頁,或者出於技術方面的考慮,搜索之中不去抓取網址中“?”後面的內容,因此採用動態網頁的網站在進行搜索引擎推廣時需要做一定的技術處理才能適應搜索引擎的要求。

動態網頁服務器端

一個在Web(網絡)服務器上運行的程序(服務器端腳本)是用來改變在不同的網頁之上的網頁內容,或調節序列或重新加載的網頁。服務器響應來確定這種情況,張貼的超文本標記語言表單裏頭的數據,URL中的參數,所使用的瀏覽器類型,時間流逝,或數據庫或服務器的狀態。
這些網頁通常都是如ASPColdFusionPerlPHP,WebDNA,或者其他的服務器端語言。這些服務器端語言經常使用的通用網關接口(CGI)產生動態網頁。有兩個明顯的例外是asp.net和JSP(爪哇服務器頁面),在它們的API(程序編程接口)裏頭會重複使用CGI的概念,但實際上所有的web(網絡)請求分派到壹個共享的虛擬機。動態網頁有很少或沒有預期變化時,往往會高速緩存和頁面預計會接收大量的網絡流量,會營造緩慢的加載時間至服務器。 [1] 

動態網頁客户端

客户端腳本在一個特定的網頁面改變界面以及行為或響應鼠標或鍵盤操作,或在指定時間事件。在這種情況下,動態行為在發生時。客户端生成的內容在用户的本地計算機系統裏頭 [1-2] 
這些網頁使用的演示技術被稱為富接口頁面。客户端腳本語言,如JavaScript(爪哇腳本)或ActionScript(動作腳本),動態HTMLDHTML)和Flash技術的使用,經常被用來編排媒體類型(聲音,動畫,修改文本等)的演示。該腳本還允許使用遠程腳本的壹種技術,DHTML頁面請求從服務器的其他信息,使用一個隱藏的框架,XMLHttpRequest或Web(網絡)服務。 [1] 

動態網頁常用的4種動態網頁技術

1、PHP 即Hypertext Preprocessor(超文本預處理器),它是當今Internet上最為火熱的腳本語言,其語法借鑑了C、Java、PERL等語言,但只需要很少的編程知識你就能使用PHP建立一個真正交互的Web站點。
它與HTML語言具有非常好的兼容性,使用者可以直接在腳本代碼中加入HTML標籤,或者在HTML標籤中加入腳本代碼從而更好地實現頁面控制。PHP提供了標準的數據庫接口,數據庫連接方便,兼容性強;擴展性強;可以進行面向對象編程。 [1]  PHP 技術的特點則是具有實時性、跨平台性和易移植性,為動態交互的實現創造了便利條件。 [5] 
2、ASP 即Active Server Pages(活躍服務器頁),它是微軟開發的一種類似超文本標識語言(HTML)、腳本(Script)與CGI(公用網關接口)的結合體,它沒有提供自己專門的編程語言,而是允許用户使用許多已有的腳本語言編寫ASP的應用程序。ASP的程序編制比HTML更方便且更有靈活性。它是在Web服務器端運行,運行後再將運行結果以HTML格式傳送至客户端的瀏覽器。因此ASP與一般的腳本語言相比,要安全得多。
ASP的最大好處是可以包含HTML標籤,也可以直接存取數據庫及使用無限擴充的ActiveX控件,因此在程序編制上要比HTML方便而且更富有靈活性。通過使用ASP的組件和對象技術,用户可以直接使用ActiveX控件,調用對象方法和屬性,以簡單的方式實現強大的交互功能。 [1] 
但ASP技術也存在很大的侷限性,由於它基本上只能運行於微軟的操作系統平台之上,主要工作環境是微軟的IIS應用程序結構,又因ActiveX對象具有平台特性,所以ASP技術幾乎不能在跨平台Web服務器上工作,已經不是主流的開發技術。
aspx是微軟的在服務器端運行的動態網頁文件,通過IIS解析執行後可以得到動態頁面,是微軟推出的一種新的網絡編程方法,而不是asp的簡單升級,因為它的編程方法和asp有很大的不同,他是在服務器端靠服務器編譯執行的程序代碼,ASP 使用腳本語言,每次請求的時候,服務器調用腳本解析引擎來解析執行其中的程序代碼,而asp.net 則可以使用多種語言編寫,而且是全編譯執行的,比ASP 快,而且,不僅僅是快的問題,有很多優點。 [1] 
3、JSP 即Java Server Pages(爪哇服務器頁面),它是由Sun Microsystem公司於1999年6月推出的新技術,是基於Java Servlet以及整個Java(爪哇)體系的Web開發技術 [1] 
JSP和ASP在技術方面有許多相似之處,不過兩者來源於不同的技術規範組織,以至 ASP一般只應用於Windows NT/2000平台,而JSP則可以在85%以上的服務器上運行,而且基於JSP技術的應用程序比基於ASP的應用程序易於維護和管理,所以被許多人認為是未來最有發展前途的動態網站技術。
4、CGI(Common Gateway Interface,公用網關接口)是較早用來建立動態網頁的技術。當客户端向Web服務器上指定的CGI程序發出請求時,Web服務器會啓動一個新的進程執行某些CGI程序,程序執行後將結果以網頁的形式再發送回客户端。
CGI的優點是它可以用很多語言編寫,如 C 、C++ 、VBPerl語言。在語言的選擇上有很大的靈活性。最常用的CGI開發語言為Perl。

動態網頁特點

asp.net 是建立在公共語言運行庫上的編程框架,可用於在服務器上生成功能強大的 Web應用程序。與以前的 Web 開發模型相比,asp.net 提供了數個重要的優點:
(1)增強的性能。asp.net 是在服務器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同,asp.net 可利用早期綁定、實時編譯、本機優化和盒外緩存服務。這相當於在編寫代碼行之前便顯著提高了性能。
(2)世界級的工具支持。asp.net 框架補充了 Visual Studio集成開發環境中的大量工具箱和設計器。WYSIWYG 編輯、拖放服務器控件和自動部署只是這個強大的工具所提供功能中的少數幾種。
(3)威力和靈活性。由於 asp.net 基於公共語言運行庫,因此 Web應用程序開發人員可以利用整個平台的威力和靈活性。.NET 框架類庫、消息處理和數據訪問解決方案都可從 Web 無縫訪問。asp.net 也與語言無關,所以可以選擇最適合應用程序的語言,或跨多種語言分割應用程序。另外,公共語言運行庫的交互性保證在遷移到 asp.net 時保留基於 COM 的開發中的現有投資。 [1] 

動態網頁缺點

1、首先動態網頁在訪問速度上不佔優勢
動態網頁首先獲得用户的指令,然後網頁拿着指令到數據庫中找和指令相對應的數據,然後傳遞給服務器,通過服務器的編譯把動態頁面編譯成標準的HTML代碼,傳遞給用户瀏覽器,這樣用户就看到了網頁。問題出來了,每次訪問網頁都要經過這麼一個過程,這一過程至少需要幾秒鐘的時間,訪問的人數一多,頁面的加載速度就會變慢,對服務器來説也是一種負擔;從用户角度來説,網頁加載的慢,遲遲沒有反應,下次誰還會來訪問你的網站 [3] 
而靜態網頁就簡單了,靜態網頁是實際存在的,無需經過服務器的編譯,直接加載到客户瀏覽器上顯示出來。
由此可見,動態網頁在訪問速度上並不佔優勢。
2、在搜索引擎收錄方面並不佔優勢
上面從服務器和用户體驗的角度説了一下,下面再從搜索引擎收錄角度説一下,動態網頁是在用户輸入指令後才形成的頁面,並不存在這個頁面,而搜索引擎只會抓取現成的,並不會自己輸入,因此網站在搜索引擎收錄方面並不佔優勢。搜索引擎還是喜歡靜態頁面。 [1]   不過搜索引擎在不斷完善發展。到目前為止,絕大多數的搜索引擎都已支持動態頁面的抓取。

動態網頁靜態形式

也就是以.htm、.html、.shtml、.xml等為後後綴的。在超文本標記語言格式的網頁上,也可以出現各種動態的效果,如.GIF格式的動畫、FLASH、滾動字母等,這些“動態效果”只是視覺上的,與下面將要介紹的動態網頁是不同的概念。在網站設計中,純粹超文本標記語言格式的網頁通常被稱為“靜態網頁”,早期的網站一般都是由靜態網頁製作的。 [1] 
我們將靜態網頁的特點簡要歸納如下:
(1)靜態網頁每個網頁都有一個固定的URL,且網頁URL以.htm、.html、.shtml等常見形式為後綴,而不含有“?”;
(2)網頁內容一經發布到網站服務器上,無論是否有用户訪問,每個靜態網頁的內容都是保存在網站服務器上的, [1]  也就是説,靜態網頁是實實在在保存在服務器上的文件,每個網頁都是一個獨立的文件;
(3)靜態網頁的內容相對穩定,因此容易被搜索引擎檢索;
(4)靜態網頁沒有數據庫的支持,在網站製作和維護方面工作量較大,因此當網站信息量很大時完全依靠靜態網頁製作方式比較困難;
(5)靜態網頁的交互性較差,在功能方面有較大的限制;
(6)靜態網頁運行數據快。
靜態網頁是相對於動態網頁而言,是指沒有後台數據庫、不含程序和不可交互的網頁。你編的是什麼它顯示的就是什麼、不會有任何改變。靜態網頁相對更新起來比較麻煩,適用於一般更新較少的展示型網站。

動態網頁靜態動態

動態網頁區分

靜態網頁,動態網頁主要根據網頁製作的語言來區分: [1] 
靜態網頁使用語言:超文本標記語言(標準通用標記語言的一個應用、外語縮寫:HTML
動態網頁使用語言:以超文本標記語言為基礎,結合上述腳本語言來編寫 [1] 

動態網頁靜態動態比較

程序是否在服務器端運行,是重要標誌。在服務器端運行的程序、網頁、組件,屬於動態網頁,它們會隨不同客户、不同時間,返回不同的網頁,例如PHP、JSP、ASP、net、CGI等。運行於客户端的程序、網頁、插件、組件,屬於靜態網頁,例如html頁、FlashJavaScript、VBScript等等,它們是永遠不變的。
靜態網頁和動態網頁各有特點,網站採用動態網頁還是靜態網頁主要取決於網站的功能需求和網站內容的多少,如果網站功能比較簡單,內容更新量不是很大,採用純靜態網頁的方式會更簡單,反之一般要採用動態網頁技術來實現。
靜態網頁是網站建設的基礎,靜態網頁和動態網頁之間也並不矛盾,為了網站適應搜索引擎檢索的需要,即使採用動態網站技術,也可以將網頁內容轉化為靜態網頁發佈。 [4] 
動態網站也可以採用靜動結合的原則,適合採用動態網頁的地方用動態網頁,如果必要使用靜態網頁,則可以考慮用靜態網頁的方法來實現,在同一個網站上,動態網頁內容和靜態網頁內容同時存在也是很常見的事情。

動態網頁動態體系

動態網頁LAMP

LAMPLinux+Apache+Mysql+PHP),一組常用來搭建動態網站或者服務器的開源軟件,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程序平台。 [1] 
隨着開源潮流的蓬勃發展,開放源代碼的LAMP已經與J2EE和.Net商業軟件形成三足鼎立之勢,並且該軟件開發的項目在軟件方面的投資成本較低,因此受到整個IT界的關注。從網站的流量上來説,70%以上的訪問流量是LAMP來提供的,LAMP是最強大的網站解決方案
LAMP是開放資源網絡開發平台,這個術語來自歐洲,在那裏這些程序常用來作為一種標準開發環境。名字來源於每個程序的第一個字母。每個程序在所有權裏都符合開放源代碼標準:Linux開放系統;Apache是最通用的網絡服務器MySQL是帶有基於網絡管理附加工具的關係數據庫,其體積小、速度快、可靠、易於使用、開放源代碼,而且支持多線程多用户,能實現對數據的高效管理 [6] PHP是流行的對象腳本語言,是一種有時候用PerlPython可代替的編程語言。它包含了多數其它語言的優秀特徵來使得它的網絡開發更加有效。開發者在Windows操作系統下使用這些Linux環境裏的工具稱為使用WAMP,也稱為WAMP架構。
這個特定名詞最早出現在1998年。當時,Michael Kunze為德國計算機雜誌c't寫作的一篇關於自由軟件如何成為商業軟件替代品的文章時,創建了LAMP這個名詞,用來指代Linux操作系統、Apache網絡服務器、MySQL 數據庫和PHP (Perl或Python)腳本語言的組合(由四種技術的開頭字母組成)。由於IT世界眾所周知的對縮寫的愛好,Kunze提出的LAMP這一術語很快就被市場接受。O'ReillyMySQL AB更是在英語人羣中推廣普及了這個術語。隨之LAMP技術成為了開源軟件業的一盞真正的明燈。事實上它正像一盞開源明燈指引着我們前進的方向。

動態網頁WAMP

微軟操作系統(Windows系列)下的Apache+Mysql+Perl/PHP/Python,一組常用來搭建動態網站或者服務器的開源軟件,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程序平台。 [1] 
參考資料