我們?cè)诮ㄔO(shè)網(wǎng)站的時(shí)候,會(huì)碰到一個(gè)網(wǎng)址設(shè)置的問題,也就是URL鏈接是用純靜態(tài)、動(dòng)態(tài)還是偽靜態(tài)。很多人不清楚三者的意思,本文跟大家詳細(xì)普及,著重講下偽靜態(tài)是什么?偽靜態(tài)與純靜態(tài)有什么區(qū)別?
一、什么是動(dòng)態(tài)網(wǎng)頁(yè)
用戶在瀏覽網(wǎng)頁(yè)時(shí),內(nèi)容從后臺(tái)數(shù)據(jù)庫(kù)里實(shí)時(shí)調(diào)取出來,然后渲染到網(wǎng)頁(yè)上的,這種網(wǎng)頁(yè)稱為動(dòng)態(tài)網(wǎng)頁(yè)。動(dòng)態(tài)URL一般是不太規(guī)則的,比如:aaa.com/news.php?id=20&class=2,類似這種帶參數(shù)的網(wǎng)址甚至更長(zhǎng)。動(dòng)態(tài)頁(yè)面的好處是不占用服務(wù)器空間,內(nèi)容實(shí)時(shí)顯示更新的內(nèi)容。但有一個(gè)缺點(diǎn)就是這樣的動(dòng)態(tài)頁(yè)面的URL構(gòu)成常常帶一個(gè)”?”加參數(shù)來讀取數(shù)據(jù)庫(kù)數(shù)據(jù),這樣的動(dòng)態(tài)鏈接在搜索引擎收錄方面不夠友好。
二、什么是偽靜態(tài)
偽靜態(tài)就是動(dòng)態(tài)網(wǎng)頁(yè)通過重寫URL的方式實(shí)現(xiàn)去掉動(dòng)態(tài)網(wǎng)頁(yè)的參數(shù),網(wǎng)站后臺(tái)程序要有支持偽靜態(tài)功能,并且服務(wù)器要支持偽靜態(tài)重寫。舉例:aaa.com/news.php?id=20 這樣一個(gè)動(dòng)態(tài)頁(yè),為了對(duì)搜索引擎更加友好,通過偽靜態(tài)的方式將URL重寫成aaa.com/news/20.html 這種格式的靜態(tài)頁(yè)面。
從URL結(jié)構(gòu)以及頁(yè)面名稱看,偽靜態(tài)和純靜態(tài)頁(yè)面是一樣的,偽靜態(tài)的頁(yè)面后綴可以是html、htm或者是目錄格式。但偽靜態(tài)只是改變了URL的表現(xiàn)形式,實(shí)際上還是動(dòng)態(tài)頁(yè)面,所以偽靜態(tài)仍是消耗動(dòng)態(tài)資源。
三、什么是純靜態(tài)
純靜態(tài)網(wǎng)頁(yè)是標(biāo)準(zhǔn)的HTML文件,直接存放于服務(wù)器硬盤上,文件擴(kuò)展名一般是.htm、.html。相對(duì)于動(dòng)態(tài)網(wǎng)頁(yè)而言,是指沒有后臺(tái)數(shù)據(jù)庫(kù)、不含程序和不可交互的網(wǎng)頁(yè),一般網(wǎng)站后臺(tái)內(nèi)容管理系統(tǒng)具備生成靜態(tài)頁(yè)面的功能,直接生成靜態(tài)網(wǎng)頁(yè)。靜態(tài)網(wǎng)頁(yè)更新起來比較麻煩,比如所有文章頁(yè)面要加上一張橫幅圖片,那么全站所有文章要重新程序生成一次,數(shù)據(jù)量大的話考驗(yàn)程序及服務(wù)器性能。
四、偽靜態(tài)與純靜態(tài)有什么區(qū)別
其實(shí)純靜態(tài)和偽靜態(tài)從外觀上看區(qū)別不大,網(wǎng)址都有較好的目錄層次結(jié)構(gòu),便于搜索引擎抓取和索引,不同的是純靜態(tài)是真實(shí)生成的HTML文件,這些文件提前生成好存放在服務(wù)器網(wǎng)站目錄里,當(dāng)有用戶訪問我們的網(wǎng)頁(yè)時(shí),就從服務(wù)器目錄讀取相應(yīng)的HTML文件進(jìn)行顯示,就無需再走“執(zhí)行后端代碼、從數(shù)據(jù)庫(kù)查詢數(shù)據(jù)、渲染網(wǎng)頁(yè)”這幾個(gè)過程,對(duì)服務(wù)器壓力更小,進(jìn)而提高網(wǎng)頁(yè)加載速度,這對(duì)搜索引擎要求的網(wǎng)頁(yè)打開速度有一定的幫助。
五、偽靜態(tài)與純靜態(tài)的優(yōu)缺點(diǎn)
生成真實(shí)靜態(tài)頁(yè)面優(yōu)點(diǎn)是緩解服務(wù)器壓力,提升打開速度。但最大缺點(diǎn)是每次在網(wǎng)站后臺(tái)修改網(wǎng)頁(yè)內(nèi)容都需要重新生成靜態(tài)頁(yè)面,無法實(shí)時(shí)顯示更新的內(nèi)容,當(dāng)網(wǎng)站內(nèi)容多了,占用的空間大小以及每次生成靜態(tài)頁(yè)面所耗費(fèi)的服務(wù)器資源也不容小覷(有出現(xiàn)內(nèi)容過多且一次性生成靜態(tài)頁(yè)面而導(dǎo)致服務(wù)器崩潰的案例)。
而偽靜態(tài)依然是通過動(dòng)態(tài)調(diào)用服務(wù)器實(shí)時(shí)生成的頁(yè)面,優(yōu)點(diǎn)是便于內(nèi)容維護(hù),但占用一定服務(wù)器資源,包括數(shù)據(jù)庫(kù)方面。打開速度上現(xiàn)在有緩存及CDN加速服務(wù)等,所以就算是偽靜態(tài)頁(yè)面在加載速度上也很快,差距在縮小。
六、網(wǎng)站使用偽靜態(tài)還是純靜態(tài)
關(guān)于這方面,大家可以根據(jù)實(shí)際業(yè)務(wù)需求來判斷,比如網(wǎng)站的流量不是很大,在不影響服務(wù)器正常使用的情況下,網(wǎng)站能正常訪問,無論是偽靜態(tài)還是靜態(tài)都可以;但如果網(wǎng)站流量大,而服務(wù)器硬件配置不夠的情況下,那么選擇頁(yè)面靜態(tài)化會(huì)更好些,或者對(duì)于一些訪問量較大的頁(yè)面靜態(tài)化處理也是不錯(cuò)的方法。