這裡說的動態網頁,與網頁上的各種動畫、滾動字幕等視覺上的“動態效果”沒有直接關系,動態網頁也可以是純文字內容的,也可以是包含各種動畫的內容,這些只是網頁具體內容的表現形式,無論網頁是否具有動態效果,采用動態網站技術生成的網頁都稱為動態網頁。
從網站浏覽者的角度來看,無論是動態網頁還是靜態網頁,都可以展示基本的文字和圖片信息,但從網站開發、管理、維護的角度來看就有很大的差別。
早期的動態網頁主要采用公用網關接口CGI(CommonGatewayInterface)技術。您可以使用不同的程序編寫適合的CGI程序,如Visual Basic、Delphi或C/C++等。雖然CGI技術已經發展成熟而且功能強大,但由於編程困難、效率低下、修改復雜,所以有逐漸被新技術取代的趨勢。
與靜態網頁相對應的,能與後台數據庫進行交互,數據傳遞。也就是說,網頁 URL的後綴不是.htm、.html、.shtml、.xml等靜態網頁的常見形動態網頁制作格式,而是以.aspx、.asp、.jsp、.php、.perl、.cgi等形式為後綴,並且在動態網頁網址中有一個標志性的符號——“?”。
特征
簡要歸納如下:
(1)動態網頁一般以數據庫技術為基礎,可以大大降低網站維護的工作量;
(2)采用動態網頁技術的網站可以實現更多的功能,如用戶注冊、用戶登錄、在線調查、用戶管理、訂單管理等等;
(3)動態網頁實際上並不是獨立存在於服務器上的網頁文件,只有當用戶請求時服務器才返回一個完整的網頁;
(4)動態網頁中的“?”對搜索引擎檢索存在一定的問題,搜索引擎一般不可能從一個網站的數據庫中訪問全部網頁,或者出於技術方面的考慮,搜索蜘蛛不去抓取網址中“?”後面的內容,因此采用動態網頁的網站在進行搜索引擎推廣時需要做一定的技術處理才能適應搜索引擎的要求。
客戶端腳本
客戶端腳本在壹個特定的網頁面改變界面以及行為或響應鼠標或鍵盤操作,或在指定時間事件。在這種情況下,動態行為在發生時。客戶端生成的內容在用戶的本地計算機系統裡頭。
這些網頁使用的演示技術被稱為富接口頁面。客戶端腳本語言,如JavaScript(爪哇腳本)或ActionScript(動作腳本),動態HTML(DHTML)和Flash技術的使用,經常被用來編排媒體類型(聲音,動畫,修改文本等)的演示。該腳本還允許使用遠程腳本的壹種技術,DHTML頁面請求從服務器的其他信息,使用一個隱藏的框架,XMLHttpRequest或Web(網絡)服務。
服務器端腳本
一個在Web(網絡)服務器上運行的程序(服務器端腳本)是用來改變在不同的網頁之上的網頁內容,或調節序列或重新加載的網頁。服務器響應來確定這種情況,張貼的超文本標記語言表單裡頭的數據,URL中的參數,所使用的浏覽器類型,時間流逝,或數據庫或服務器的狀態。
這些網頁通常都是如ASP,ColdFusion,Perl,PHP,WebDNA,或者其他的服務器端語言。這些服務器端語言經常使用的通用網關接口(CGI)產生動態網頁。有兩個明顯的例外是asp.net和JSP(爪哇服務器頁面),在它們的API(程序編程接口)裡頭會重復使用CGI的概念,但實際上所有的web(網絡)請求分派到壹個共享的虛擬機。動態網頁有很少或沒有預期變化時,往往會高速緩存和頁面預計會接收大量的網絡流量,會營造緩慢的加載時間至服務器。