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

下載本文檔

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

文檔簡介

學(xué)習(xí)內(nèi)容主講:韓順平頁面靜態(tài)化基本概念頁面靜態(tài)化好處是什么?php如何實現(xiàn)頁面靜態(tài)化頁面靜態(tài)化實例-

管理系統(tǒng)明確幾個重要概念主講:韓順平靜態(tài):純靜態(tài)HTML文檔址:內(nèi)容存于數(shù)據(jù)庫中,根據(jù)要求顯示內(nèi)容,URL中以?,&顯示不同的參數(shù),如:&class=1&id=2址的一個重寫,偽靜態(tài)

不偽靜態(tài)

:偽靜態(tài)僅僅是對能讓

址“靜態(tài)化”

,搜索引擎不會認(rèn)為偽靜態(tài)就是HTML文檔。其次,偽靜態(tài)可取,但應(yīng)把重心放在去除冗余參數(shù)、規(guī)范URL、盡可能的避免重復(fù)頁上。舉例說明:這是一個

址來看,最好重寫為止sql注入&class=1&id=2,從seo的角度-sport-id2.html。這樣的也更加有效的防?

但是也不要精簡重寫為news-2.html,這樣簡寫同樣不利于搜索引擎優(yōu)化.頁面靜態(tài)化概念主講:韓順平php文件,php

在服務(wù)器端執(zhí)行并,

量很大,頻繁的動態(tài)操作和操作頁面靜態(tài)化概念大多數(shù)情況下是直接返回信息,對于一些大型的數(shù)據(jù)庫會加重服務(wù)器的負(fù)擔(dān).在實際開發(fā)中,通常使用緩存技術(shù)(memcached)或者頁面靜態(tài)化來解決從靜態(tài)化形式看,頁面靜態(tài)化分為:①真靜態(tài)②偽靜態(tài)從靜態(tài)范圍看,頁面靜態(tài)化分為:①整個頁面靜態(tài)化②局部靜態(tài)化(jquery)頁面靜態(tài)化的必要性1主講:韓順平看一個實際問題?

使用apache提供的

ben arking

tool來測試下面的兩個程序,看看for($i=0;$i<100;$i++){echo

"$i";}各種的時間是怎樣的?直接使用html輸出for循環(huán)的信息.01......99apache/bin/ab.exe

程序可以來做效率測試基本使用:ab

[options]

[http[s]://]hostname[:port]/pathoptions是選項:-n

執(zhí)行

次數(shù)-c

用戶并發(fā)數(shù)量頁面靜態(tài)化的必要性1主講:韓順平頁面靜態(tài)化的必要性2主講:韓順平從seo的角度來,如:,baidu

更偏好靜態(tài)&class=1&id=2

這樣的(偽靜態(tài)

),比址,不如-sport-id2.html,這樣的格式.頁面靜態(tài)化的必要性3主講:韓順平從安全的角度來看擊。-sport-id2.html

更不容易被sql注入攻使用php緩存機制完成頁面靜態(tài)化主講:韓順平可以使用php自帶的緩存機制來完成頁面靜態(tài)化,但在這里我要說明一點,僅靠php自身的緩存機制并不能完美的解決頁面靜態(tài)化,往往需要和其它靜態(tài)化技術(shù)(通常是偽靜態(tài)技術(shù))結(jié)合使用,例子:(查詢系統(tǒng))當(dāng)一個頁面時,先判斷是否存在緩存,如果存在,則直接輸出緩存文件中的內(nèi)容。否則,則先查詢數(shù)據(jù)庫,獲得數(shù)據(jù),然后生成緩存文件。詳解PHP的緩存機制(圖),Output_buffering,常用的函數(shù)包括ob_start()

ob_get_contents(),ob_clean(),ob_end_clean()ob_end_flush()ob_flush()flush()關(guān)于PHP經(jīng)常有面試題.簡述ob_flush()和flush()的區(qū)別?簡述PHP緩存機制.使用php緩存機制-測試題主講:韓順平<?phpob_start();

echo

"abc";header("content-type:text/html;charset=utf-8");echo

"

o";ob_clean();echo

"aa";header("content-type:text/html;charset=utf-8");?><?phpob_start();

echo

"abc";header("content-type:text/html;charset=utf-8");echo

"

o";ob_flush();echo

"aa";echo

ob_get_contents();?><?phpob_start();

echo

"abc";header("content-type:text/html;charset=utf-8");echo

"

o";ob_end_clean();echo

"aa";header("content-type:text/html;charset=utf-8");?><?phpob_start();

echo

"abc";header("content-type:text/html;charset=utf-8");echo

"

o";ob_end_flush();echo

"aa";echo

ob_get_contents();?>使用php緩存機制完成頁面靜態(tài)化主講:韓順平綜合運用案例-管理系統(tǒng)使用php緩存機制完成頁面靜態(tài)化主講:韓順平單純使用php緩存機制完成頁面靜態(tài)的不足分析解決方案(真靜態(tài)和偽靜態(tài)技術(shù).)頁面靜態(tài)化(真靜態(tài))--原理示意圖主講:韓順平簡單的說:頁面靜態(tài)化技術(shù)就是要把php->html直接而減少對數(shù)據(jù)庫的操作,達(dá)到提高 速度[示意圖]基本流程是:創(chuàng)建模板文件template.html通過模板文件,創(chuàng)建靜態(tài)頁面的

php文件

xx.php用戶

生成的靜態(tài)頁面

xx.html快速入門案例(根據(jù)模板生成靜態(tài)頁面),從數(shù)據(jù)庫和頁面靜態(tài)化(真靜態(tài))結(jié)合主講:韓順平使用靜態(tài)頁面技術(shù)如何處理,在添加

的時候完成兩件事情:①添加數(shù)據(jù)到數(shù)據(jù)庫②同時生成對應(yīng)的

詳細(xì)信息顯示靜態(tài)頁面數(shù)據(jù)庫和頁面靜態(tài)化(真靜態(tài))結(jié)合主講:韓順平靜態(tài)頁面內(nèi)容的修改如何處理?數(shù)據(jù)庫和頁面靜態(tài)化(真靜態(tài))結(jié)合主講:韓順平課堂練習(xí)-學(xué)員完成刪除任務(wù).數(shù)據(jù)庫和頁面靜態(tài)化(真靜態(tài))結(jié)合主講:韓順平首頁面實現(xiàn)靜態(tài)化頁面靜態(tài)化(真靜態(tài))的優(yōu)點和缺點主講:韓順平html靜態(tài)頁(真靜態(tài))的好處有三點;一是減少服務(wù)器對數(shù)據(jù)響應(yīng)的負(fù)荷,二是加載不用調(diào)動數(shù)據(jù)庫,響應(yīng)速度

是便于優(yōu)化引擎。缺點也有幾點:一是空間占用比較大。二是生成的文件多了,服務(wù)

器對html文件的響應(yīng)負(fù)擔(dān)也較重。如果一個系統(tǒng)使用真靜態(tài)進(jìn)行頁面靜態(tài)化,需要生成海量的靜態(tài)頁面,

可以考慮使用偽靜態(tài)來處理.偽靜態(tài)主講:韓順平偽靜態(tài)初步介紹如果你希望頁面被seo,同時不想生成靜態(tài)頁面,可以考慮使用偽靜態(tài)技術(shù).說明:比如希望上面的url

變成偽靜態(tài)1主講:韓順平比如這個網(wǎng)頁其實處理的 是content.php

參數(shù)為1,122,8912相當(dāng)于content.php?a=1

;b=122 ;c=8912

只不過這樣的URL太難記。搜索引擎也不喜歡。真靜態(tài)只是完全生成了HTML??蛻舳说臅r候直接輸出。不用解釋。在流量非常大的時候(比如每天有上百萬的量的時候)會起到很好的效果。也就是說服務(wù)器端實實在在的存在這個HTML頁面。當(dāng)然在你 的流量沒有那么大的時候。URL重寫是最好的方法(如果訪問量很大,還可以考慮負(fù)載均衡)URL重寫的方法有很多種,APACHE(rewrite),IISREWRITE。PHP

直接處理。 先講解如何使用PHP

直接處理。偽靜態(tài)2主講:韓順平下面以程序為例講一下PHP偽靜態(tài)的程序?qū)崿F(xiàn)方法程序為例:<?php//利用server變量取得PATH_INFO信息該例中為/1,122,8912.html

也就是執(zhí)行 名后面的部分}else

die("Path:Error!");}else

die('Path:Nothing!');?>面試題:匹配模式中的s表示什么意思.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正則案例:四個任意數(shù)字

xxx-yyy-zzzxxx-yzy-xxx偽靜態(tài)2主講:韓順平課堂小練習(xí):作業(yè):給你一個字符串.$str="alkfjlda111-444-999alkfd111-444-888lsakf9008";請你,找出符合類似888-000-222

的字符串,并指定取出滿足該條件的第二個字符串的第三組數(shù),比如這里要求大家取出

888

請練習(xí)課堂小練習(xí):作業(yè):給你一個字符串.$str=“jakfdl,韓順平abc";請你,找出其中的中文?偽靜態(tài)3主講:韓順平下面以程序為例,講一下另外一種形式的PHP偽靜態(tài)的實現(xiàn)方法例:

/news-music-id23.html實現(xiàn)上面形式的偽靜態(tài)使用另外 式,通過apache的

rewrite機制來實現(xiàn).偽靜態(tài)4主講:韓順平下面以程序為例講一下另外一種形式的PHP偽靜態(tài)的程序?qū)崿F(xiàn)方法程序為例:/news-music-id23.html使用另外

式,通過apache的

rewrite機制來實現(xiàn).1.檢測Apache是否支持mod_rewrite通過php提供的phpinfo()函數(shù)查看環(huán)境配置,通過Ctrl+F查找到“Loaded

Modules”,其中列出了所有apache2handler已經(jīng)開啟的模塊,如果里面包括“mod_rewrite”,則已經(jīng)支持,不再需要繼續(xù)設(shè)置。如果沒有開啟“mod_rewrite”,則打開

您的apache安裝 “/apache/conf/”

下的

httpd.conf

文件,通過Ctrl+F查找到“LoadModule

rewrite_module”,將前面的”#”號刪除即可。如果沒有查找到,則到“LoadModule”區(qū)域,在最后一行加入“LoadModule

rewrite_modulemodules/mod_rewrite.so”(必選獨占一行),然后重啟apache服務(wù)器即可。偽靜態(tài)5主講:韓順平在httpd.conf中配置虛擬主機#Virtual

hosts

啟用虛擬主機Include

conf/extra/httpd-vhosts.confhttpd_vhosts.conf文件中,配置相應(yīng)的選項.詳細(xì)講解<VirtualHost

*:80>Root

"C:/myenv2/apache/htdocs/static2"ServerName<Directory

"C:/myenv2/apache/htdocs/static2">#403錯誤提示,可以

.Deny

from

all

或者

Denyfrom

211.11.78#Allow

fromAll

#要重寫成功,這里也不能是Denyfrom

all#如果文件

在apache

外面,注釋掉optinos

則,不能列表.,要rewrite,options

需要

+indexes#options

+Indexes#不讓列出列表配置#options

None#設(shè)置歡迎頁面

#DirectoryIndex

aa.html#如果匹配不到,可以指定一個錯誤頁error 404

/404.php#下面這個表示可以去

.htaccess文件,也可以直接在虛擬主機中配置.#Allowoverride

All

(說明可以把這個啟動,然后把重寫規(guī)則放到.htaccess中,

)RewriteEngine

OnRewriteRule

news-id(\d+)\.html$

searchNews.php?id=$1#這里可以設(shè)置多個重寫的規(guī)則#RewriteRule

news-id.html$

error.php</Directory></VirtualHost>偽靜態(tài)6主講:韓順平在相應(yīng)的

下編寫.htaccess

重寫規(guī)則如果在linux下可以直接創(chuàng)建,如果是在windows平臺下,用記事本創(chuàng)建一個文件,比如abc.txt,然后另存為.htaccess文件即可重寫規(guī)則,也可以直接在配置虛擬主機的<Directory>段配置.偽靜態(tài)7主講:韓順平?rewrite規(guī)則介紹新建一個.htaccess文件之后,就在里面寫入以下內(nèi)容:

RewriteEngineon#rewriteengine為重寫引擎開關(guān)on為開啟off為關(guān)閉快速入門案例:RewriteRule

([0-9]{1,})$

index.php?id=$1我講解一下RewriteRule:RewriteRule是重寫規(guī)則,支持正則表達(dá)式的,上面的([0-9]{1,})是指由數(shù)字組成的,$是結(jié)束標(biāo)志,說明是以數(shù)字結(jié)束!現(xiàn)在

可以實現(xiàn)偽靜態(tài)頁面了,(上機練習(xí)題!)希望把用戶輸入的ulr重新被apache替換成這個規(guī)則應(yīng)當(dāng)怎樣寫?下創(chuàng)建一個index.php看看能否得到apache改寫?在.htaccess后的url$_GET['action']

=>$_GET['id']

=>23view如何通過rewrite

來增強

安全性,哪些資源public,哪些資源private偽靜態(tài)7主講:韓順平如何通過rewrite

來增強

安全性,哪些資源public,哪些資源private有兩種方法:簡單法

[先說這個!!!]使用RewriteCond偽靜態(tài)8主講:韓順平?實際運用案例?看看ecshop的一個.htaccess文件有很多重寫規(guī)則.是怎樣實現(xiàn)的簡化url請求/index/login等價于

/index.php?c=index&a=login并擴展一下

/xxx/yyy等價于

/index.php?c=xxx&a=yyy偽靜態(tài)9主講:韓順平?實際運用案例rewriteCond

指令的介紹需求:(.htaccess文件)<ifModule

rewrite_module>RewriteEngine

OnRewriteRuleabc.html

index.php</ifModule>如何做到:當(dāng)abc.html

存在就直接abc.html

,否則才去index.php偽靜態(tài)10主講:韓順平?實際運用案例通常的URL里面含有index.php,為了達(dá)到更好的SEO效果可能需要去掉URL里面的index.php偽靜態(tài)10主講:韓順平?實際運用案例通常的URL里面含有index.php,為了達(dá)到更好的SEO效果可能需要去掉URL里面的index.php1.修改

Conf/config.php

文件將URL_MODEL

設(shè)置為

2偽靜態(tài)10主講:韓順平?實際運用案例通常的URL里面含有index.php,為了達(dá)到更好的SEO效果可能需要去掉URL里面的index.php2.

修改

httpd.conf

在TP項目

添加

<IfModule>

模塊處理偽靜態(tài)11主講:韓順平如何通過rewrite

來增強

安全性,哪些資源public,哪些資源private有兩種方法:簡單法

[先說這個!!!]使用RewriteCond偽靜態(tài)特點主講:韓順平。

首頁一般都有熱點

之類的,你可以設(shè)為,24小時

,,再加上 文章, 點評等。這樣首頁天天是有變化的。四,用一周便于的輪顯。比如:你可以把art1234.php,這個虛成n個頁,如art_1234.html,news_1234.html,top_1234.html,在不同的頁面放不同的廣告.總之是動態(tài)的,你就可以隨意動。url重寫的缺點:就是效率不如生成html的,因為它不是真正意義上的靜態(tài)頁,每次請求是要

數(shù)據(jù)庫的。但你可以用緩存技術(shù)來補償一下。如果一個

使用真靜態(tài)技術(shù),會生成海量的html靜態(tài)頁

溫馨提示

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

評論

0/150

提交評論