大型網(wǎng)站核心技術(shù)頁(yè)面靜態(tài)化_第1頁(yè)
大型網(wǎng)站核心技術(shù)頁(yè)面靜態(tài)化_第2頁(yè)
大型網(wǎng)站核心技術(shù)頁(yè)面靜態(tài)化_第3頁(yè)
大型網(wǎng)站核心技術(shù)頁(yè)面靜態(tài)化_第4頁(yè)
大型網(wǎng)站核心技術(shù)頁(yè)面靜態(tài)化_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

為大型網(wǎng)站提速

--頁(yè)面靜態(tài)化講師:韓順平

學(xué)習(xí)內(nèi)容主講:韓順平頁(yè)面靜態(tài)化基本概念頁(yè)面靜態(tài)化好處是什么?php如何實(shí)現(xiàn)頁(yè)面靜態(tài)化頁(yè)面靜態(tài)化實(shí)例-新聞管理系統(tǒng)明確幾個(gè)重要概念主講:韓順平靜態(tài)網(wǎng)址:純靜態(tài)HTML文檔動(dòng)態(tài)網(wǎng)址:內(nèi)容存于數(shù)據(jù)庫(kù)中,根據(jù)要求顯示內(nèi)容,URL中以?#&顯示不同的參數(shù),如:news.php?lang=cn&class=1&id=2偽靜態(tài)網(wǎng)址:偽靜態(tài)僅僅是對(duì)動(dòng)態(tài)網(wǎng)址的一個(gè)重寫(xiě),偽靜態(tài)網(wǎng)址不能讓動(dòng)態(tài)網(wǎng)址“靜態(tài)化”,搜索引擎不會(huì)認(rèn)為偽靜態(tài)就是HTML文檔。其次,偽靜態(tài)可取,但應(yīng)把重心放在去除冗余參數(shù)、規(guī)范URL、盡可能的避免重復(fù)頁(yè)上。舉例說(shuō)明:這是一個(gè)動(dòng)態(tài)網(wǎng)址news.php?lang=cn&class=1&id=2,從seo的角度來(lái)看,最好重寫(xiě)為news-cn-class1-id2.html。這樣的也更加有效的防止sql注入攻擊?但是也不要精簡(jiǎn)重寫(xiě)為news-2.html,這樣簡(jiǎn)寫(xiě)同樣不利于搜索引擎優(yōu)化.頁(yè)面靜態(tài)化概念 主講:韓順平■頁(yè)面靜態(tài)化概念我們大多數(shù)情況下是直接訪(fǎng)問(wèn)php文件,php腳本在服務(wù)器端執(zhí)行并返回信息,對(duì)于一些大型的網(wǎng)站,訪(fǎng)問(wèn)量很大,頻繁的動(dòng)態(tài)操作和操作數(shù)據(jù)庫(kù)會(huì)加重服務(wù)器的負(fù)擔(dān).在實(shí)際開(kāi)發(fā)中,通常使用緩存技術(shù)或者頁(yè)面靜態(tài)化來(lái)解決頁(yè)面靜態(tài)化分為:①真靜態(tài)②偽靜態(tài)頁(yè)面靜態(tài)化的必要性1 主講:韓順平我們看一個(gè)實(shí)際問(wèn)題?使用apache提供的benchmarkingtool來(lái)測(cè)試下面的兩個(gè)程序,看看訪(fǎng)問(wèn)各種訪(fǎng)問(wèn)的時(shí)間是怎樣的?apache/bin/ab.exe程序可以來(lái)做效率測(cè)試基本使用:ab[options][http[s]://]hostname[:port]/pathoptions是選項(xiàng):-n執(zhí)行訪(fǎng)問(wèn)次數(shù)-c用戶(hù)并發(fā)數(shù)量for($i=0;$i<100;$i++){echo"$i";}直接使用html輸出for循環(huán)的信息.01......99頁(yè)面靜態(tài)化的必要性1 主講:韓順平頁(yè)面靜態(tài)化的必要性2 主講:韓順平從seo的角度來(lái),google,baidu更偏好靜態(tài)網(wǎng)址(偽靜態(tài)網(wǎng)址),比如:news.php?lang=cn&class=1&id=2這樣的動(dòng)態(tài)網(wǎng)址,不如news-cn-class1-id2.html,這樣的格式.從安全的角度來(lái)看news-cn-class1-id2.html更不容易被sql注入攻擊。頁(yè)面靜態(tài)化(真靜態(tài))--原理示意圖

主講:韓順平簡(jiǎn)單的說(shuō):頁(yè)面靜態(tài)化技術(shù)就是要把php->html直接訪(fǎng)問(wèn),從而減少對(duì)數(shù)據(jù)庫(kù)的操作,達(dá)到提供訪(fǎng)問(wèn)速度[示意圖]基本流程是:1.創(chuàng)建模板文件model.html2.通過(guò)模板文件,創(chuàng)建靜態(tài)頁(yè)面的php文件xx.php3.用戶(hù)訪(fǎng)問(wèn)生成的靜態(tài)頁(yè)面xx.html快速入門(mén)案例(根據(jù)模板生成靜態(tài)頁(yè)面)數(shù)據(jù)庫(kù)和頁(yè)面靜態(tài)化(真靜態(tài))結(jié)合

主講:韓順平靜態(tài)頁(yè)面通常和數(shù)據(jù)庫(kù)應(yīng)用有關(guān)聯(lián),我們以一個(gè)實(shí)際的新聞管理系統(tǒng)來(lái)看看它們是如何結(jié)合的:我們看看下面的幾個(gè)頁(yè)面用傳統(tǒng)的方法是怎樣處理的?數(shù)據(jù)庫(kù)和頁(yè)面靜態(tài)化(真靜態(tài))結(jié)合

主講:韓順平使用靜態(tài)頁(yè)面技術(shù)如何處理,在添加新聞的時(shí)候完成兩件事情:①添加數(shù)據(jù)到數(shù)據(jù)庫(kù)②同時(shí)生成對(duì)應(yīng)的新聞詳細(xì)信息顯示靜態(tài)頁(yè)面數(shù)據(jù)庫(kù)和頁(yè)面靜態(tài)化(真靜態(tài))結(jié)合

主講:韓順平靜態(tài)頁(yè)面內(nèi)容的修改如何處理?頁(yè)面靜態(tài)化(真靜態(tài))的優(yōu)點(diǎn)和缺點(diǎn)

主講:韓順平html靜態(tài)頁(yè)(真靜態(tài))的好處有三點(diǎn);一是減少服務(wù)器對(duì)數(shù)據(jù)響應(yīng)的負(fù)荷,二是加載不用調(diào)動(dòng)數(shù)據(jù)庫(kù),響應(yīng)速度快。三是便于優(yōu)化引擎。

缺點(diǎn)也有三點(diǎn):一是維護(hù)不方便,每次都要手動(dòng)生成。三是空間占用比較大。三是生成的文件多了,服務(wù)器對(duì)html文件的響應(yīng)負(fù)擔(dān)也較重。

偽靜態(tài)介紹1主講:韓順平比如這個(gè)網(wǎng)頁(yè)

其實(shí)處理的腳本是content.php參數(shù)為1,122,8912

相當(dāng)于content.php?a=1&b=122&c=8912只不過(guò)這樣的URL太難記。搜索引擎也不喜歡。

真靜態(tài)只是完全生成了HTML。

客戶(hù)端訪(fǎng)問(wèn)的時(shí)候直接輸出。不用腳本解釋。在流量非常大的時(shí)候(比如每天有上百萬(wàn)的訪(fǎng)問(wèn)量的時(shí)候)會(huì)起到很好的效果。也就是說(shuō)服務(wù)器端實(shí)實(shí)在在的存在這個(gè)HTML頁(yè)面。

當(dāng)然在你網(wǎng)站的流量沒(méi)有那么大的時(shí)候。URL重寫(xiě)是最好的方法(如果訪(fǎng)問(wèn)量很大,還可以考慮負(fù)載均衡)

URL重寫(xiě)的方法有很多種,APACHE(rewrite),IISREWRITE。PHP腳本直接處理。我們先講解如何使用PHP腳本直接處理。偽靜態(tài)介紹2主講:韓順平下面以程序?yàn)槔v一下PHP偽靜態(tài)的程序?qū)崿F(xiàn)方法

程序?yàn)槔?

<?php

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

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

//正則匹配一下參數(shù)

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

}elsedie("Path:Error!");

}elsedie('Path:Nothing!');

?>偽靜態(tài)介紹3主講:韓順平下面以程序?yàn)槔v一下另外一種形式的PHP偽靜態(tài)的程序?qū)崿F(xiàn)方法程序?yàn)槔?/p>

實(shí)現(xiàn)上面形式的偽靜態(tài)當(dāng)然可以通過(guò)php程序的正則表達(dá)式來(lái)實(shí)現(xiàn),我們使用另外一種方式,通過(guò)apache的rewrite機(jī)制來(lái)實(shí)現(xiàn).偽靜態(tài)介紹3主講:韓順平下面以程序?yàn)槔v一下另外一種形式的PHP偽靜態(tài)的程序?qū)崿F(xiàn)方法

程序?yàn)槔?/p>

實(shí)現(xiàn)上面形式的偽靜態(tài)當(dāng)然可以通過(guò)php程序的正則表達(dá)式來(lái)實(shí)現(xiàn),我們使用另外一種方式,通過(guò)apache的rewrite機(jī)制來(lái)實(shí)現(xiàn).1.檢測(cè)Apache是否支持mod_rewrite通過(guò)php提供的phpinfo()函數(shù)查看環(huán)境配置,通過(guò)Ctrl+F查找到“LoadedModules”,其中列出了所有apache2handler已經(jīng)開(kāi)啟的模塊,如果里面包括“mod_rewrite”,則已經(jīng)支持,不再需要繼續(xù)設(shè)置。如果沒(méi)有開(kāi)啟“mod_rewrite”,則打開(kāi)目錄您的apache安裝目錄“/apache/conf/”下的httpd.conf文件,通過(guò)Ctrl+F查找到“LoadModulerewrite_module”,將前面的”#”號(hào)刪除即可。如果沒(méi)有查找到,則到“LoadModule”區(qū)域,在最后一行加入“LoadModulerewrite_modulemodules/mod_rewrite.so”(必選獨(dú)占一行),然后重啟apache服務(wù)器即可。偽靜態(tài)介紹4主講:韓順平2.讓apache服務(wù)器支持.htaccess如何讓自己的本地APACHE服務(wù)器支持”.htaccess”呢?其實(shí)只要簡(jiǎn)單修改一下apache的httpd.conf設(shè)置就可以讓APACHE支持.htaccess了。打開(kāi)httpd.conf文件(在那里?APACHE目錄的CONF目錄里面),用文本編輯器打開(kāi)后,查找<Directory/>OptionsFollowSymLinksAllowOverrideNone</Directory>改為<Directory/>OptionsFollowSymLinksAllowOverrideAll</Directory>就可以了。偽靜態(tài)介紹4主講:韓順平3.建立.htaccess文件如果在linux下可以直接創(chuàng)建,如果是在windows平臺(tái)下,用記事本創(chuàng)建一個(gè)文件,比如abc.txt,然后另存為.htaccess文件即可偽靜態(tài)介紹4主講:韓順平4.rewrite規(guī)則介紹我們新建一個(gè).htaccess文件之后,就在里面寫(xiě)入以下內(nèi)容:RewriteEngineon#rewriteengine為重寫(xiě)引擎開(kāi)關(guān)on為開(kāi)啟off為關(guān)閉快速入門(mén)案例:RewriteRule([0-9]{1,})$index.php?id=$1我講解一下RewriteRule:RewriteRule是重寫(xiě)規(guī)則,支持正則表達(dá)式的,上面的([0-9]{1,})是指由數(shù)字組成的,$是結(jié)束標(biāo)志,說(shuō)明是以數(shù)字結(jié)束!現(xiàn)在我們可以實(shí)現(xiàn)偽靜態(tài)頁(yè)面了,我們希望把用戶(hù)輸入的ulr重新被apache替換成這個(gè)規(guī)則應(yīng)當(dāng)怎樣寫(xiě)?5.在.htaccess目錄下創(chuàng)建一個(gè)index.php看看能否得到apache改寫(xiě)后的url$_GET['action']=>view$_GET['id']=>23偽靜態(tài)介紹主講:韓順平url重寫(xiě)(偽靜態(tài))的好處:一,可以方便的實(shí)現(xiàn)對(duì)化化引擎的優(yōu)化,并且比生成靜態(tài)更加方便。二、占空間比較小。三、首頁(yè)每天都自動(dòng)變化,不用維護(hù)。網(wǎng)站首頁(yè)一般都有熱點(diǎn)排行之類(lèi)的,你可以設(shè)為,24小時(shí)排行,一周排行,再加上最新文章,最新點(diǎn)評(píng)等。這樣首頁(yè)天天是有變化的。四,便于廣告的輪顯。比如:你可以把a(bǔ)rt1234.php,這個(gè)虛成n個(gè)頁(yè),如art_1234.php,news_1234.php,top_1234.php,在不同的頁(yè)面放不同的廣告.總之是動(dòng)態(tài)的,你就可以隨意動(dòng)。

url重寫(xiě)的缺點(diǎn):我看只有一個(gè),那就是效率不如生成html的,因?yàn)樗皇钦嬲饬x上的靜態(tài)頁(yè),每次請(qǐng)求是要讀取數(shù)據(jù)庫(kù)的。但你可以用緩存技術(shù)來(lái)補(bǔ)償一下。真靜態(tài)和偽靜態(tài)的選擇

主講:韓順平①真靜態(tài)訪(fǎng)問(wèn)效率高,利于seo.可以減少對(duì)數(shù)據(jù)庫(kù)的操作。但是會(huì)占用大量的磁盤(pán).②偽靜態(tài)一、可以方便的實(shí)現(xiàn)對(duì)搜索引擎的優(yōu)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論