靜態頁面:純html頁面 動態頁面:內容存在資料庫中,根據要求顯示,url中以? &顯示不同的參數 偽靜態:僅僅是對靜態頁面的重寫,不能讓動態頁面靜態化。搜索引擎不會認為偽靜態就是HTML文檔。其次,偽靜態可取,但應把重心放在去除冗餘參數、規範URL、儘可能的避免 重覆頁上。 舉例說明: 這是一個動 ...
靜態頁面:純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靜態頁面,建議 使用偽靜態
在一個大型網站中,靜態化技術是綜合使用的,這個需要大家經驗 的積累,多做項目
註: 個人推薦使用偽靜態配合緩存技術(防止緩存文件量過大做一些定時清理過時文件操作)來為提供大型網站提速.