摘 要:動態(tài)網(wǎng)頁是與靜態(tài)網(wǎng)頁是相對應(yīng)的,它們的應(yīng)用都很廣泛,二者之間的主要區(qū)別在于Web服務(wù)器對它們的處理方式是不同的。本文主要分析了二者之間的區(qū)別,可為進(jìn)一步學(xué)習(xí)當(dāng)今流行的網(wǎng)頁設(shè)計(jì)制作技術(shù)奠定良好的基礎(chǔ),對于提高網(wǎng)頁制作水平具有重要的意義。
關(guān)鍵詞:靜態(tài)網(wǎng)頁動態(tài)網(wǎng)頁;HTML;Web瀏覽器;Web服務(wù)器
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-7712 (2012) 12-0065-01
靜態(tài)網(wǎng)頁是網(wǎng)站建設(shè)的基礎(chǔ),是指網(wǎng)頁是靜態(tài)生成,它本身的內(nèi)容不會發(fā)生變化。它相對于動態(tài)網(wǎng)頁而言是靜態(tài)的,動態(tài)網(wǎng)頁指服務(wù)器端可以根據(jù)客戶不同的數(shù)據(jù)請求,對應(yīng)地生成靜態(tài)網(wǎng)頁,而不是有些人理解的會動的網(wǎng)頁。其實(shí)靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁之間并不矛盾,二者是辯證的統(tǒng)一。動態(tài)網(wǎng)頁的內(nèi)容和靜態(tài)網(wǎng)頁的內(nèi)容完全可以同時(shí)出現(xiàn)在一個(gè)網(wǎng)站上,這沒有什么可奇怪的。對網(wǎng)站來說,即使確定采用了動態(tài)網(wǎng)站的技術(shù),但是只要搜索引擎檢索有這方面的需要,將動態(tài)的網(wǎng)頁內(nèi)容轉(zhuǎn)化為靜態(tài)的網(wǎng)頁內(nèi)容進(jìn)行發(fā)布也是完全可以的。當(dāng)然,所謂的動態(tài)網(wǎng)站也完全可以采用靜動相結(jié)合的原則,根據(jù)實(shí)際需要決定是采用動態(tài)網(wǎng)頁還是靜態(tài)網(wǎng)頁,適宜采用動態(tài)網(wǎng)頁的要采用動態(tài)網(wǎng)頁,適宜采用靜態(tài)網(wǎng)頁的地方則采用靜態(tài)網(wǎng)頁。本文深入地分析了靜態(tài)網(wǎng)頁與動態(tài)網(wǎng)頁的區(qū)別,相信對更好地進(jìn)行網(wǎng)頁制作至關(guān)重要。
一、靜態(tài)網(wǎng)頁
我們知道靜態(tài)網(wǎng)頁文件的擴(kuò)展名一般是.htm或.html,它包含有HTML標(biāo)記、Jave小程序、文本、客戶端腳本以及客戶端ActiveX控件,不包含服務(wù)器端腳本,網(wǎng)頁設(shè)計(jì)人員編好該頁中HTML代碼后放到Web服務(wù)器,不再更改。瀏覽器通過Internet的HTTP協(xié)議向站點(diǎn)的Web服務(wù)器申請主頁時(shí),站點(diǎn)服務(wù)器會將已設(shè)計(jì)好的靜態(tài)HTML文件傳給瀏覽器。更新主頁內(nèi)容時(shí),只能用一些非在線手動方式。
客戶端瀏覽器向服務(wù)器提出HTTP需求,服務(wù)器下傳靜態(tài)網(wǎng)頁,其處理流程如下:
步驟1:Web瀏覽器請求靜態(tài)網(wǎng)頁。用戶在瀏覽器地址欄輸入要訪問的地址并回車,觸發(fā)這個(gè)瀏覽請求。瀏覽器將請求發(fā)送到Web服務(wù)器。
步驟2:Web服務(wù)器查找靜態(tài)網(wǎng)頁。Web服務(wù)器接受這個(gè)請求,并根據(jù)請求文件的后綴名判定是否為HTML文件。
步驟3:Web服務(wù)器將靜態(tài)網(wǎng)頁發(fā)送到請示瀏覽器。即Web服務(wù)器從服務(wù)器硬盤的指定位置或內(nèi)存中讀取正確的HTML文件然后將它發(fā)送給請求瀏覽器。
當(dāng)瀏覽器向Web服務(wù)器發(fā)送網(wǎng)頁請求時(shí),Web服務(wù)器會通過文件的擴(kuò)展名判斷出是否是HTML文件請求,然后再從磁盤或存儲器中獲取適當(dāng)?shù)腍TML文件。然后,Web服務(wù)器向用戶的瀏覽器發(fā)送HTML文件,當(dāng)然,用戶的瀏覽器會解釋這個(gè)HTML文件并在瀏覽器窗口顯示結(jié)果。
二、動態(tài)網(wǎng)頁
ASP、PHP、JSP等運(yùn)行于服務(wù)器端的程序、網(wǎng)頁、組件等都是動態(tài)網(wǎng)頁。Flash、HTML頁、JavaScript等運(yùn)行于客戶端的程序、網(wǎng)頁、插件、組件等則均屬于永遠(yuǎn)不變的靜態(tài)網(wǎng)頁。判斷動態(tài)網(wǎng)頁的重要標(biāo)志就是程序是否在服務(wù)器端運(yùn)行。動態(tài)網(wǎng)頁會隨不同客戶的需要和不同時(shí)間而返回到不同的網(wǎng)頁。
動態(tài)網(wǎng)頁因其以數(shù)據(jù)庫技術(shù)為基礎(chǔ),所以可以大大地降低網(wǎng)站維護(hù)的工作量;相對來說,采用動態(tài)網(wǎng)頁技術(shù)的網(wǎng)站可實(shí)現(xiàn)更多靜態(tài)網(wǎng)頁難以實(shí)現(xiàn)的功能,如用戶注冊、登錄、在線調(diào)查、用戶管理、訂單管理等等;另外,實(shí)際上,動態(tài)網(wǎng)頁并非獨(dú)立存在于服務(wù)器上的網(wǎng)頁文件,因?yàn)橹挥挟?dāng)用戶請求時(shí),服務(wù)器才返回一個(gè)完整的網(wǎng)頁;動態(tài)網(wǎng)頁的網(wǎng)站在進(jìn)行搜索引擎推廣時(shí),為了滿足搜索引擎的要求,必須要做一定的技術(shù)處理。
動態(tài)網(wǎng)頁與靜態(tài)網(wǎng)頁二者之間的主要區(qū)別:靜態(tài)網(wǎng)頁中的任何腳本都不能在Web服務(wù)上運(yùn)行,而動態(tài)網(wǎng)頁中的某些腳本只能在Web服務(wù)器上運(yùn)行。Web服務(wù)器接收到靜態(tài)網(wǎng)頁請求時(shí)直接會將該頁發(fā)送到請求瀏覽器,而不進(jìn)行進(jìn)一步的處理。Web服務(wù)器接收到動態(tài)網(wǎng)頁的請求時(shí)會將該頁傳遞給一個(gè)稱為應(yīng)用程序服務(wù)器的特殊軟件擴(kuò)展,然后由此軟件負(fù)責(zé)完成網(wǎng)頁。
當(dāng)用戶發(fā)送一動態(tài)網(wǎng)頁請求時(shí),服務(wù)器要做更多的工作才能發(fā)送回用戶請求的信息。動態(tài)網(wǎng)頁的程序在服務(wù)器端執(zhí)行,把程序解釋成標(biāo)準(zhǔn)的HTML代碼。Web服務(wù)器端的程序只需將結(jié)果傳給瀏覽器,其處理流程:
Web瀏覽器先發(fā)送動態(tài)網(wǎng)頁請求,接著,Web服務(wù)器會查找該頁并將其傳遞給應(yīng)用程序服務(wù)器。應(yīng)用程序服務(wù)器查找該頁中的腳本命令并完成頁并將其傳遞回Web服務(wù)器。再由Web服務(wù)器發(fā)送完成的頁到瀏覽器。
當(dāng)向Web服務(wù)器發(fā)送一頁面請求時(shí),Web服務(wù)器再從服務(wù)器硬盤指定的位置或內(nèi)存中讀取動態(tài)網(wǎng)頁文件。判斷是否是動態(tài)網(wǎng)頁文件請求,并從磁盤或存儲器中獲取適當(dāng)頁傳遞給相應(yīng)的應(yīng)用程序服務(wù)器。
如何將含有程序代碼的動態(tài)網(wǎng)頁轉(zhuǎn)化為標(biāo)準(zhǔn)的靜態(tài)頁面(HTML)?首先,應(yīng)用程序服務(wù)器要查找該頁中的腳本命令,通過在服務(wù)器上執(zhí)行這些腳本命令完成頁,將腳本程序代碼刪除后我們會得到靜態(tài)網(wǎng)頁。應(yīng)用程序服務(wù)器將傳遞回所生成的頁給Web服務(wù)器,Web服務(wù)器會將已經(jīng)生成的靜態(tài)網(wǎng)頁頁面代碼發(fā)送給請求瀏覽器,到達(dá)客戶端計(jì)算機(jī)時(shí),該頁所包含的全部內(nèi)容都是純HTML代碼,這時(shí)Web瀏覽器會解釋這些HTML代碼并顯示結(jié)果于瀏覽器窗口。
三、動態(tài)網(wǎng)頁運(yùn)行環(huán)境
單有動態(tài)網(wǎng)頁還不夠,必須建立一個(gè)適合動態(tài)網(wǎng)頁運(yùn)行的環(huán)境,這就是Web服務(wù)器環(huán)境和數(shù)據(jù)庫運(yùn)行環(huán)境(用來調(diào)試制作出來的動態(tài)網(wǎng)頁)。它們之間的關(guān)系為:動態(tài)網(wǎng)頁必須通過Web服務(wù)器中服務(wù)器程序來對數(shù)據(jù)庫內(nèi)容進(jìn)行操作,而服務(wù)器程序只有通過數(shù)據(jù)庫驅(qū)動程序才能夠處理數(shù)據(jù)庫。
可以說,靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁都是各有利弊的,具體采用二者中哪一個(gè)要根據(jù)實(shí)際情況決定。我們在實(shí)際應(yīng)用中,要根據(jù)網(wǎng)站的功能需求和網(wǎng)站內(nèi)容的多少來選擇使用動態(tài)網(wǎng)頁還是靜態(tài)的網(wǎng)頁。通常采用動態(tài)網(wǎng)頁技術(shù),只對那些功能較簡單以及內(nèi)容更新量不太大的網(wǎng)站,采用純靜態(tài)網(wǎng)頁。
參考文獻(xiàn):
[1]童愛紅.網(wǎng)頁設(shè)計(jì)技術(shù)教程[M].北京:清華大學(xué)出版社,2005,1
[2]梁芳.網(wǎng)頁設(shè)計(jì)與制作[M].北京:清華大學(xué)出版社,2011,7
[3]張麗華.新編網(wǎng)頁制作三劍客教程[M].北京:冶金工業(yè)出版社,2006,1