仲介交易 SEO診斷 淘寶客 雲主機 技術大廳
記得有一次和一朋友散步,他問到什麼是動態網頁、什麼是靜態網頁、動態網頁與靜態網頁有什麼區別。 當時我的回答似乎並沒有讓他真的明白到底什麼是動態、什麼是靜態,所以今天想在這篇文章中詳細的舉例說明什麼是動態網站、什麼是晶體網站。 都知道網站是由一個個網頁組成的,所以動態(靜態)網站與動態(靜態)網頁在本文中就不特別區別了,表達的意思是相似的。
(1)動態網站與靜態網站的概念及區別
動態網站是指通過網頁腳本語言(比如php、jsp、asp等)將網站內容中的資料動態的存儲到伺服器端的資料庫裡,使用者訪問網站是通過讀取資料庫來動態生成網頁的方法。 相反的,靜態網站是指不通過指令碼語言及資料庫開發,而直接或間接由製作成html的網頁組成。
在靜態網站中,使用者往往只具有資訊流覽者的權利,使用者不能實現資訊回饋,而動態網站則很好的滿足了這一要求,動態網站的使用者往往可以填寫表單、發表留言評論等等,而這些回饋的資料都被存儲到了網站伺服器端的資料庫中。 對於一個靜態網站而言,其各個頁面的製作都需要使用專門的網頁製作工具(如dreamweaver)去修改製作,而且製作完成了的頁面都具有「靜態性」,即每個使用者無論什麼時候打開這個頁面呈現的資訊都是一樣的。 而對於動態網站而言,由於使用的是資料庫驅動生產網頁的方式,所以通常都會有一個網站建站軟體,比如wordpress、dedecms、discuz等,管理者可以在網站的後臺很方便的管理網站, 可實現不用接觸代碼即可哥視化的編輯網站內容,還能夠實現站內站外各種資訊的調用。 不同的使用者,或在不同的時間、不同的地點訪問網站,或會呈現出不一樣的頁面。
那麼如何區分動態網站與靜態網站呢,葉德華覺得最簡單、有效的方法就是看該網站是否採用了資料庫的開發模式。 對於一個靜態網站來說,其網頁都是真實存在於網站伺服器的,而相對於動態網站,其網頁是當有使用者訪問時即時生成的,網站伺服器中並不真正存在該網頁。 例如,有www.a.com和www.b.com這兩個網站,前者是純靜態的網站,後者是用php編寫的動態網站,假設這兩個網站都存在網站介紹頁面,並且www.a.com/about.html和www.b.com/ about.html表示的都是網站的網站介紹頁面,表現出來的效果一樣,但是原理卻完全不同。 www.a.com由於是靜態網站,其根目錄下真實存在about.html這個頁面,使用者訪問的時候是直接存取了這個頁面,沒有通過任何資料庫驅動來實現; 而www.b.com由於是動態網站,其根目錄下並不真正存在about.html這個頁面,該網站只是將網站介紹的資訊通過網站後臺錄入進了資料庫中,當有使用者訪問的時候,資料庫調用了錄入的資訊生成了一個偽靜態的about.html頁面,之所以稱之為 「偽」,是因為在網站伺服器中並不存在about.html這個頁面,這個頁面只是即時生成的,這個也就是動態網站與靜態網站之間最大的區別。
(2)百度首頁是靜態網頁還是動態網頁
這個問題看起來有點傻,不過葉德華覺得還是值得思考的。 我們訪問百度的時候,一般都是直接存取HTTP://www.baidu.com這個網址,可是你有沒有發現你輸入HTTP://www.baidu.com/index.html、HTTP://www.baidu.com/ index.htm、HTTP://www.baidu.com/index.php這三個網址一樣進入的還是百度的首頁呢?我覺得百度首頁是一個靜態網頁,下面給出我的理由。
第一,感性的來說,百度首頁雖然簡單,但是卻是數億線民的上網入口,作為一個互聯網巨頭,使用簡單的靜態網頁不管從維護還是其他方便來說都是不合適的,所以感性的認為這是一個動態的網頁。
第二,從介面上來說,百度首頁的「新聞」、「貼吧」、「知道」、「音樂」、「圖片」、「視頻」、「地圖」、「百科」、「文庫」、「hao123」、「更多」等錨文本都只是簡單的連結而已,不管是靜態還是動態,這些簡單的功能都是可以的。 使用者還可以登錄自己的百度會員帳號,然後不同的使用者呈現的百度個人化首頁也會不同,那麼這就需要調用到資料庫中的使用者資訊了,單從這點而言,可以認為是一個動態頁面。
第三,從網頁代碼來看,在「百度首頁」按一下滑鼠右鍵可查看網頁原始程式碼,從代碼也可以看出使用了各種各樣的指令碼語言,比如會員帳號中就使用了javascript腳本。 所以,也可以看出這是一個動態頁面。
(3)以葉德華的博客為例整站分析動態與靜態
訪問我的博客,可以直接在百度中搜索「葉德華的博客」即可訪問。 我的博客整站佈局是這樣的,我首先使用了wordpress建站程式建了這樣的一個博客網站,然後又自己用dreamweaver建了幾個簡單的頁面,例如404頁面、網站地圖頁面。 由於這個博客是我一手建好的,所以我可以明確的說這個博客中除了404頁面和網站地圖頁面以外,其餘的都是動態頁面。
博客的首頁、文章分類頁、文章內容頁面都是資料庫生成的網頁,我每次發佈文章的時候只需要在網站的管理後臺中錄入我想要發佈的文章,然後點擊「發佈」即可,不用接觸到任何的網頁代碼。 而「404頁面」和「網站地圖」頁面每當我要修改的時候,就會有些麻煩,我需要首先將這幾個網頁從伺服器中下載下來,然後使用dreamweaver打開然後修改其中的代碼, 這也就是為什麼動態網站的管理要比靜態網站的管理要容易的多的原因。 為了減輕自身伺服器的壓力,我使用了較多的協力廠商應用,比如搜索框使用的是谷歌的搜索、廣告直接放入的就是百度廣告聯盟的、評論功能使用的是多說的社會化評論代碼等。 也是由於插入了這些協力廠商應用,才使得博客的頁面看起來顯得動態化了,否則,如果沒有添加百度聯盟的廣告,那麼「404頁面」和「網站地圖」頁面就是一純靜態化的網頁,不管是誰、不管什麼時間、什麼地點訪問都會呈現一樣的頁面結果。
以前,可以較明顯的區別出動態網站與靜態網站,而隨著現在各種技術的成熟、以及開發平臺的出現,讓靜態網頁呈現出動態網頁的效果變得越來越容易,所以區分起來也就有了一定的難度,不過也沒關係, 現在所說的網站開發絕大多數情況下指的都是動態網站開發,而不會讓你真正的去製作一個個的html靜態網頁組成一個網站。 從事互聯網相關的工作,對於這些基本概念的瞭解也是必要的。
本文首發于葉德華的博客,由cheaplululemon贊助,贊助網站位址:HTTP://www.cheaplululemon.com/,轉載請注明贊助網站網址。