之前的緩衝和現在所說的頁面靜態化都是為網站提速的,如果是訪問量小的小型網站可能不需要但是如果網站規模或訪問量很大,那麼頁面靜態化和緩衝就會體現出各自的價值了下面先來瞭解下頁面靜態化的分類
頁面靜態化的分類:
1,按照形式:
1)真靜態
2)偽靜態
2,按照範圍:
1)局部靜態話(jquery,ajax)
2)全部靜態化
頁面靜態化可以為網站提速還能進行seo最佳化,因為搜尋引擎偏向抓取靜態頁面,針對不同的搜尋引擎seo的標準可能不同。下面提供一個百度搜尋引擎最佳化的連結
這次給大家分享的是頁面真靜態技術,本次將以一個簡單的新聞管理系統為例子介紹真靜態技術的使用,項目使用mvc架構來弄
一.真靜態理解
真靜態就是把我們先前訪問的jsp,php,aspx變為html,保留先前的頁面效果和商務邏輯,減輕伺服器的壓力、讓網站被良好的收錄。但是真靜態也有缺點那就是過多的靜態頁面佔用了伺服器空間,維護不是很方便。
二 開始靜態化新聞管理系統
1.通過列表頁面以最快速度查看單條資料的詳細資料(如通過新聞列表查看某一條新聞的詳細內容)
如果沒有靜態化的前提下,我們的做法可能是通過點擊列表頁面的標題傳一個ID過去,之後查詢出單條資料之後顯示在一個頁面上,這樣我們每次點選連結都會去訪問一次資料庫,這樣伺服器的壓力必然變大,可取的做法是每次添加資料都產生對應的詳細頁面
(1)簡單的後台管理頁面
(2)添加新聞的操作
if(add==$opper){ $news=new NewsManagerImpl(); $title=$_POST[title]; $content=$_POST[content]; $result=$news->addNews($title, $content); if($result>0){ //產生靜態html(用於查詢單條資料) $fp=fopen(../static/news-id-.$result..html, w); $ftpl=fopen(../tpl/newsDetail.tpl, r); while(!feof($ftpl)){ $row=fgets($ftpl); //替換相應的位置 $row=str_replace({title}, $title, $row); $row=str_replace({content}, $content, $row); fwrite($fp, $row); } fclose($ftpl); fclose($fp); header(Location:../manage/success.html); }exit();}
下面來看看newsDetail.tpl這個模板檔案
| 新聞標題 |
新聞內容 |
| {title} |
{content} |
2.靜態化列表頁
這一部分的工作其實很簡單,就看你能不能想的上去,像修改、刪除我們可以按照原來的做法,該怎麼弄就怎麼弄,只需要定期更新靜態化後的列表頁就可以了,更新的頻率按照自身需要即可。
下面是我的做法:
if(updatecache==$opper){$rowInfo=;$listInfo=;$news=new NewsManagerImpl();$all=$news->getAllNews();for ($i = 0; $i < count($all); $i++) {$row=$all[$i];//拼接列表資訊$listInfo.=;$listInfo.={$row['id']};$listInfo.={$row['title']};$listInfo.=查看;//$listInfo.=刪除;//$listInfo.=修改;$listInfo.= ;}//列表頁靜態化$listTpl=fopen(../tpl/newsList.tpl, r);while(!feof($listTpl)){$rowInfo.=fgets($listTpl);}$all=str_replace({newsContent}, $listInfo , $rowInfo);$staticListFp=fopen(../static/newsList.html, w);fwrite($staticListFp, $all);fclose($listTpl);fclose($staticListFp);header(Location:../manage/success.html);}
是不是就只是一個重新讀一下資料的簡單操作呢,最後給大家拉幾個省的說我在這瞎寫
背景話一般不用考慮靜態化,因為後台是給自己看的,只要效能不是很差靜態化意義不大。
http://www.bkjia.com/PHPjc/621642.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/621642.htmlTechArticle之前的緩衝和現在所說的頁面靜態化都是為網站提速的,如果是訪問量小的小型網站可能不需要但是如果網站規模或訪問量很大,那麼頁面...