網頁靜態化技術


靜態頁面:純html頁面

動態頁面:內容存在數據庫中,根據要求顯示,url中以? &顯示不同的參數

偽靜態:僅僅是對靜態頁面的重寫,不能讓動態頁面靜態化。搜索引擎不會認為偽靜態就是HTML文檔。其次,偽靜態可取,但應把重心放在去除冗余參數、規范URL、盡可能的避免

重復頁上。 舉例說明: 這是一個動態網址 news.php?lang=cn&class=1&id=2,從seo的角度來看, 最好重寫為 news-cn-class1-id2.html。這樣的也更加有效的防止sql注入攻擊 。

但是也不要精簡重寫為 news-2.html,這樣簡寫同樣不利於搜索引擎優化.

 

靜態化的必要性:

1.訪問html比php jsp速度更快

2.更有利於SEO

3.不易被sql攻擊

 

網站的優化,要注意的以下幾點:

 

頁面真靜態思路:

信息對實時性要去不高,並且比較穩定,當第一個用戶訪問某條新聞后,使用緩存機制(緩存的內容是http的contents中的內容),

把內容緩存到html中,下次訪問時直接訪問html即可。

問題:

如果我們的新聞更新了,這樣我們的靜態頁面不變->解決

解決方法1:我們可以判斷靜態頁面是否過期(30s),如果過期,則重新創建

方法局限:①頁面點擊查看的時候,仍然是個php頁面->網址

     ②實時性不好,30s延時

解決思想:當我們添加新聞或者更新新聞的時候,就同步的更新html靜態頁面。

設計模板文件(網頁設計師/美工),通過模板創建靜態頁面。

 

頁面靜態化(真靜態)的優點和缺點 

html靜態頁(真靜態)的好處

一是減少服務器對數據響應的負荷,

二是加載不用調動數據庫,響應速度快。

三是便於優化引擎。

缺點:一是空間占用比較大。二是生成的文件多了,服務器對html文件的響應負擔也較重,海量的靜態文件查找起來也較慢。

如果一個系統使用真靜態進行頁面靜態化,需要生成海量的靜態 頁面,我們可以考慮使用偽靜態來處理.

 

偽靜態:

比如這個網頁 http://localhost/content.php/1,122,8912.html 其實處理的腳本是content.php 參數為1,122,8912

相當於content.php?a=1&b=122&c=8912 只不過這樣的URL太難記。搜索引擎也不喜歡。、

真靜態只是完全生成了HTML。 客戶端訪問的時候直接輸出。不用腳本解釋。在流量非常大的時候(比如每天有上百萬的訪問量的時候)會起到很好的效果。

也就是說服務器端實實在在的存在這個HTML頁面。 當然在你網站的流量沒有那么大的時候。URL重寫是最好的方法(如果訪問量很大,還可以考慮負載均衡)

URL重寫的方法有很多種,APACHE(rewrite),IISREWRITE。PHP腳本直接處理。我們先講解如何使用PHP腳本直接處理。

1.php程序的正則表達式來實現:

程序為例:

http://localhost/content.php/1,122,8912.html

<?php //利用server變量 取得PATH_INFO信息 該例中為 /1,122,8912.html 也就是執行腳本名后面的部分

if(@$path_info =$_SERVER["PATH_INFO"]){

//正則匹配一下參數

if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){

$gid =intval($arr_path[1]); //取得值 1

$sid =intval($arr_path[2]);//取得值122

$softid =intval($arr_path[3]); //取得值8912

}else die("Path:Error!"); }else die('Path:Nothing!'); ?>

 

2.

下面講一下另外一種形式的PHP偽靜態的程序實現方法程序為例: http://www.hsp.com/news-id23.html 通過apache的 rewrite機制來實現.

 

 

真靜態 VS 偽靜態

①真靜態訪問效率高,利於seo.可以減少對數據庫的操作。但是會占用大量 的磁盤.

②偽靜態一、可以方便的實現對搜索引擎的優化,

    二、占空間比較小。

    三、通過生成不同view-id2.hmtl 可以實現內容的變化.

    四有效的防止了注入攻擊

小結: 如果一個網頁會被頻繁的訪問(比如百萬級別),通過該網頁每次都會去操作數據庫,可以考慮使用真靜態(建議有針對性的使用),

    如果一個網頁為了實現對搜索引擎的優化,提供網站的安全性,使用偽靜態.

 

真靜態和偽靜態的選擇

什么情況下不適合使用靜態化技術. 網站實時性要求高,不要使用靜態化(真靜態,偽靜態均不適宜). 如果網站訪問量較小,沒有必要使用靜態化技術

如果數據項目不多,但是訪問頻率極大,建議使用真靜態,比如新浪新聞頻道

如果數據項目海量,使用真靜態會生成海量的html靜態頁面,建議 使用偽靜態

在一個大型網站中,靜態化技術是綜合使用的,這個需要大家經驗 的積累,多做項目

注: 個人推薦使用偽靜態配合緩存技術(防止緩存文件量過大做一些定時清理過時文件操作)來為提供大型網站提速.

 

java web簡單實現真靜態案例:「Java Web」主頁靜態化的實現

java web簡單實現偽靜態案例:【Java Web】使用URLRewrite實現網站偽靜態

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM