僞靜態

僞靜態
 
僞靜態是相對真實 靜態來說的,一般咱們爲了加強 搜索引擎的友好面,都將文章內容生成靜態頁面,可是有的朋友爲了實時的顯示一些信息。或者還想運用動態 腳本解決一些問題。不能用靜態的方式來展現網站內容。可是這就損失了對 搜索引擎的友好面。怎麼樣在二者之間找個中間方法呢,這就產生了 僞靜態技術。就是展現出來的是以html一類的靜態頁面形式,但實際上是用ASP一類的動態 腳本來處理的。
IIS404錯誤處理機制來實現的。這個比rewrite技術要靈活的多。
首先,設置站點屬性-自定義錯誤,找到 HTTP錯誤 404,而後編輯屬性->消息類型選中URL-> URL填入「/index.asp」,或您的錯誤處理頁面。
這樣,好比用戶或 蜘蛛訪問http://網址XXX/12345.html時(12345爲文章在數據庫的ID).因爲這些頁面不存在,因此觸發了404錯誤。轉向了index.asp
在index.asp裏添加
CurrDomain=Request.ServerVariables("HTTP_HOST") '當前訪問域名
CurrURL=Replace(Request.ServerVariables("QUERY_STRING"),"404;http://"&CurrDomain&":80","") '當前訪問URL
此時的CurrURL應該是:12345.html .
這樣,就獲得用戶正在試圖訪問的頁面。而後提取裏邊的文章ID(應該爲:12345),用正則,這裏就很少說了。
而後到 數據庫裏提取出文章內容。輸出到頁面裏,就OK了。
這樣。用戶或蜘蛛看到的 URL仍是他訪問的URL.而咱們對內容的處理上能夠用到了動態技術。這就是咱們想要的結果。說得簡單了一些。可是基本思路就是這樣了。

目錄

1僞靜態與靜態頁面的區別php

2不足html

3如何選擇web

4二者評論數據庫

5方法瀏覽器

 
 

1僞靜態與靜態頁面的區別

  1. URL結構以及頁面名稱看,僞靜態和 靜態頁面是同樣的。僞靜態的頁面後綴能夠是 html   htm  或者是目錄格式
  2. 僞靜態只是改變了 URL的表現形式,實際上仍是 動態頁面
  3. 靜態頁面能夠節省 服務器資源,而僞靜態嚴格說是增長服務器資源消耗的
總結,在 SEO方面, 僞靜態靜態頁面的功能是相同的,可是僞靜態本質上仍是 動態頁面,因此消耗資源是和動態頁面同樣的,並且由於 Rewrite服務器還須要消耗額外的資源。 [1]

2不足

一、固然猶如一篇文章的做者所說的:"若是流量稍大一些使用僞靜態就出現 CPU使用超負荷,個人同時在線300多人就掛了,而不使用僞靜態的時候同時在線超500人都不掛,個人IIS數是1000。」確實是這樣的,因爲僞靜態是用正則判斷而不是真實地址,分別顯示哪一個頁面的責任也由直接指定轉由CPU來判斷了,因此CPU佔有量的上升,確實是僞靜態最大的弊病。
二、網站承受力低。
另外,會形成網站可承受同時在線人數劇減。若是你的網站能夠保證1000人同時訪問的話,那麼作了僞靜態處理以後,300人訪問就足以讓你網站掛掉。
三、網頁打開慢。
僞靜態頁面打開速度快,簡直太搞笑了,僞靜態仍然要讀取數據庫,還額外的多了一個.重寫網址.的過程,其餘的步驟絕對不會比動態少,怎麼會快呢?
四、大量的重複頁面。
作了僞靜態後,原有的頁面也能夠訪問,這就形成了大量的僞靜態頁面和動態頁面重複,對網站極爲很差。
五、須要 服務器支持。
並非全部的服務器都支持僞靜態的,這無形中又增長了成本。
因此,若是網址中的動態參數沒有達到影響 搜索引擎收錄的程度,動態要比僞靜態好的多。
六、形成真正的靜態網頁沒法訪問。
若是把 php僞靜態成 html,那麼真正的靜態頁就沒法訪問了。(可經過修改服務器配置解決,但是你又何須去費這把力氣呢?) [2]

3如何選擇

選擇僞靜態仍是真靜態
一、使用真靜態和僞靜態對 SEO來講沒有什麼區別
二、使用真靜態可能將致使硬盤損壞並將影響站點性能(這個實在是個謬論,非靜態的對 硬盤的讀取次數賽過真靜態)
三、使用僞靜態將佔用必定量的 CPU佔有率,大量使用將致使CPU超負荷
四、最重要的一點,咱們要靜態是爲了SEO
五、真靜態的訪問速度明顯比僞靜態的訪問速度要高
因此:
一、使用真靜態的方法能夠直接排除了,由於不管怎麼生成,對硬盤來講都是很傷的。(這個徹底是亂講了,真靜態能夠提升網站的性能,減小數據庫的訪問壓力,減小CPU和內存的壓力。)
二、既然真僞靜態的效果同樣,咱們就能夠選擇僞靜態了。
三、可是僞靜態大量使用會形成CPU 超負荷
四、因此咱們只要不大量使用就能夠了。
五、既然靜態只是給搜索引擎爬蟲看的,咱們只須要僞靜態給搜索引擎爬蟲就好了,不須要給用戶使用。
六、因此咱們只要在專門提供給 搜索引擎爬蟲 [3] (搜索引擎機器人)爬的Archiver中使用僞靜態就能夠了。
在網上流傳了不少關於 網站生成HTML靜態會對硬盤有損傷的說法(固然這裏的損傷概念是指相比普通的應用程序而言,非指任何系統和程序都會讓硬盤折壽類型的常規損傷)。但經過 Google百度並無發現出現過這個問題的真實例子存在,大部分都是 道聽途說人云亦云並無一個比較合理的解釋,下面就這個問題來做一個簡單的分析。
首先,假設「網站生成HTML靜態會對硬盤有損耗」這個說法成立,這個問題影響最大的應該是 IDC行業中的虛擬主機服務商,由於主流 CMS、論壇系統、網店系統、博客系統大多數都支持生成HTML靜態功能,並且通常狀況下一臺服務器中都會存在100-300個虛擬主機同時運行,在有如此大的硬盤損耗的狀況下,國內居然沒有一家虛擬主機服務商限制生成HTML靜態站點在其虛擬主機上運行,這個現象是否是反常呢?是否是因爲硬盤價格比較低虛擬主機服務商不在意了呢?其實否則,由於想在短期內恢復100-300個網站的數據並非一件簡單的事情,同時基於網站穩定性和硬件成本方面的考慮虛擬主機服務商不可能不在意。因此在IDC行業中「網站生成HTML靜態會對硬盤有損耗」一說法是不成立的。
其次,假設「網站生成HTML靜態會對硬盤有損耗」這個說法成立,那爲何還會有那麼多主流CMS、論壇、網店、博客軟件公司去研發這個功能呢?這個現象是否是反常呢?由於生成HTML靜態功能可能形成用戶硬盤損壞而引發數據丟失,軟件開發公司是確定須要承擔相應責任的,應該沒有哪家軟件公司會在增長本身研發成本的基礎上去開發一個對本身有負面影響的功能。因此在軟件行業中「網站生成HTML靜態會對硬盤有損耗」一說法是不成立的。
你們都知道對硬盤的操做主要分爲「讀」與「寫」兩大部分,先分析生成HTML靜態對硬盤「讀」的影響:
如今以最多見的PHP動態網站爲例,普通的PHP網站的執行過程是先讀取PHP文件、而後根據PHP文件中的代碼讀取數據庫中的數據,最後輸出到訪問者的瀏覽器中進行顯示。在這個執行過程當中PHP文件至少讀取一次(若是代碼中包含include之類的語句的話還須要讀取更屢次),數據庫至少讀取一次(通常狀況下須要讀取屢次),在這個過程完成以前通常須要讀取硬盤2-20次左右,固然不一樣的WEB服務器、數據庫、系統對IO的操做過程也不同,但基本能夠初步瞭解到這個實現基本過程。
再來看「生成HTML靜態」網站的執行過程,很明顯執行過程就是直接讀取HTML文件再傳輸到訪問者的瀏覽器進行顯示,對硬盤的讀取操做只有1次。
根據以上分析能夠得出結論,「生成HTML靜態」網站只有普通動態網站讀取硬盤頻率的1/10,再加上「生成HTML靜態」網站能夠利用瀏覽器的頁面緩存,對硬盤讀取的頻率能夠進一步下降,「生成HTML靜態」網站在硬盤的「讀」操做方面沒有任何損傷,反而能夠更好的保護硬盤。
明白了生成HTML靜態對硬盤「讀」的影響,咱們再來看看生成HTML靜態對硬盤「寫」的影響:
仍是以如今最多見的PHP動態網站爲例,PHP動態網站在添加文章時直接把數據寫入了數據庫,對 硬盤進行了一次寫操做。而「生成HTML靜態」網站在寫入數據庫的同時把數據又寫入了文件,對硬盤進行了兩次寫操做。但在實際項目中,咱們只會把修改頻率很是低的內容生成HTML靜態,好比文章、商品內容,這些頁面的寫頻率自己就很是很是低的,好比咱們站點發布的文章在發佈後幾乎就不會再進行修改了。對於一個擁有10萬篇文章的站點來講,平均一篇文章修改1次,對硬盤的寫入次數也才20萬次,通常服務器硬盤的使用壽命都在5-10年左右,其實再放大數萬倍也不至於達到可以損傷硬盤的地步。不相信的朋友能夠下載DiskCountersView軟件查看一下你本身的電腦在24小時內讀寫硬盤的次數,在普通狀況下24小時內讀寫硬盤的次數就會超過了千萬次,如此計算20萬次硬盤寫入幾乎能夠忽略不計。
根據以上的分析能夠得出結論,「生成HTML靜態」網站比普通動態網站硬盤寫入頻率高2倍,但因爲生成「生成HTML靜態」的內容幾乎不會再進行修改,因此對硬盤的寫入次數能夠忽略不計,不會對硬盤形成任何損傷。
總結:在最有說話權的IDC行業和 軟件行業中「生成HTML靜態頁面對硬盤有損傷」的說法並不成立,並且經過技術分析也證實生成HTML靜態頁面並不會對硬盤形成任何損傷,相反還能夠極大的下降對硬盤、 數據庫的讀取操做頻率,提升站點訪問速度。

4二者評論

僞靜態和真靜態的評論
真正的靜態化和僞靜態仍是有本質的區別的。爲瀏覽用戶處理一個純粹html和一個調用多個數據的php在CPU的 使用率方面明顯前者少。記得原來有我的說html下載硬盤讀寫頻繁,他這麼說好像讀取數據庫不用讀寫磁盤似的,況且還有一大堆緩存的零散php也是放在硬盤的,這些讀取不用磁盤操做麼?
讀取單個html+圖片 Flash等附件就能夠實現的目的,何苦要讀數據庫又要讀php緩存文件又要從新整合數據輸出再+圖片Flash等附件這麼大費 周章呢?CMS首頁不須要不少的互動的,論壇那一套不該該拿到這裏來用,相反應該更多考慮的是:美觀!兼容!信息的直觀!性能!還有穩定!

5方法

須要的工具只有兩樣,首先就是須要..htaccess文件,而後將建立好的.htaccess文件用記事本打開輸入一下代碼:   # BEGIN WordPress   RewriteEngine On   RewriteBase /   RewriteCond %{REQUEST_FILENAME} !-f   RewriteCond %{REQUEST_FILENAME} !-d   RewriteRule . /index.php [L]   # END WordPress   再保存上傳到網站根目錄下,第二步:進入wordpress後臺,依次找到:【設置】處【固定連接】選擇【自定義結構】在【自定義結構】處填寫/%post_id%.html,最後就能夠,若是你的網站裝了緩存插件須要更新一下。
相關文章
相關標籤/搜索