网站静态化的实现以及纯伪静态优缺点
在大型網站中,訪問者看到的頁面基本上是靜態頁面。為什么都要把頁面靜態化呢?把頁面靜態化,好處有很多。例如:訪問速度快,更有利于搜索引擎收錄等。目前主流的靜態化主要有兩種:一種是通過程序將動態頁面抓取并保存為靜態頁面,這樣的頁面的實際存在于服務器的硬盤中,另外一種是通過WEB服務器的 URL Rewrite的方式,他的原理是通過web服務器內部模塊按一定規則將外部的URL請求轉化為內部的文件地址,一句話來說就是把外部請求的靜態地址轉化 為實際的動態頁面地址,而靜態頁面實際是不存在的。這兩種方法都達到了實現URL靜態化的效果,但是也各有各自的特點。
1、可以提高網站的打開速度實際上,真正能夠提高網站訪問速度的是純靜態生成,偽靜態并不能提高網站訪問速度。因為純靜態生成是真正意義上減少了數據庫查詢工作,而偽靜態是沒有減少數據庫查詢的。所以,能夠提高網站訪問速度的靜態化方式一定是純靜態生成方式,而不是偽靜態化方式。這兩之間的區別需要分清楚。
2、有利于搜索引擎抓取和索引
網站靜態化之后,網頁地址中沒有參數,所以有利于搜索引擎抓取、分析、索引,從而對增加網站被搜索引擎收錄的網頁數量有非常大的幫助,對關鍵字在搜索引擎上的自然排名也有一定的幫助。兩種靜態化方式都可以實現這樣的效果,所以利于搜索引擎抓取和索引的靜態化方式,上述兩種方式都可以勝任。
3、可以減輕服務器壓力
靜態化之后的網頁,在用戶訪問的時候,不需要再次查詢數據庫,所以對減輕網站服務器的壓力非常有幫助。但是這里要注意,偽靜態不能減輕服務器壓力,反而提高了一點服務器的壓力。因為偽靜態并不是真正意義上的靜態化網頁,是通過在服務器上安裝組件來實現顯示開式上的靜態化,所以在訪問偽靜態網頁的時候,還是需要查詢數據庫。因為在服務器中多裝了一個處理組件,所以對服務器來說,反而提高了一點壓力。
4、內容更新不能即時顯示(僅純靜態)
對網站數據進行修改的時候,在網頁前端不能即時顯示出來,需要對網頁進行靜態化之后,修改的才能顯示出來。因為純靜態生成的網頁,是不能自動查詢數據庫中的數據,所以對數據發生的變化不能即時響應,需要重新運行靜態化生成程序,根據新修改的數據重新生成純靜態頁面,如果頁面比較少的時候,這都沒有關系。如果當網站規模很大,這里所產生的額外工作量將會非常大。這里所指的缺點是針對純靜態生成而言,偽靜態不存在這樣的缺點。
5、需要更大的服務器硬盤容量(僅純靜態)
生成靜態化網頁之后,需要額外的服務器硬盤容量存放生生的靜態化文件。這里所指的缺點是針對純靜態生成而言,偽靜態不存在這樣的缺點。
thinkphp純靜態頁實現方法!
實現方法摘自http://www.cnblogs.com/kingfly/p/3469363.html1:在根目錄下的全局index.PHP中加下面這行:
define('HTML_PATH', './htm');//生成靜態頁面的文件位置
?
2:在項目的配置文件config.php中加下面這行:
'HTML_FILE_SUFFIX' => '.html',// 默認靜態文件后綴
?
3:在需要生成靜態頁的action里加入下面顯紅的代碼
public function view()
{
$wheres = "id = $_GET[id]";
$news = $this->news->where($wheres)->find();
$this->assign("news", $news);
$this->buildHtml('1', HTML_PATH . '/news/', 'view', 'utf8');
$this->display();
}
buildHtml方法
參數1:生成的靜態頁名稱
參數2:靜態頁保存的目錄
參數3:生成靜態頁的方法名
參數4:靜態頁編碼(是utf8,不是utf-8)
來源:http://blog.csdn.net/shuyeshangdemayi/article/details/53939859
總結
以上是生活随笔為你收集整理的网站静态化的实现以及纯伪静态优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 注册外资贸易公司的详细流程
- 下一篇: 蓝光发展是做什么的