php中的頁面靜態化

2021-08-13 03:49:03 字數 1953 閱讀 3854

1.對於靜態網頁優缺點:

優點:載入速度快

缺點:維護工作量比較大並且沒有資料互動功能

2.動態網頁優缺點:

優點:解決了靜態網頁的缺點

缺點:對於動態網頁與靜態網頁比較起來效率會慢。

將動態資料以靜態html呈現,即將資料庫中的資料用html格式展示出來。整個過程就叫靜態化(靜態化就是將資料庫中每乙個內容都生成處乙個對應的html檔案)

①減少伺服器的壓力

②載入速度快

③更加安全

④更加符合搜尋引擎優化

對於靜態化實現只要能夠獲取到要輸出的內容然後再寫入到檔案中(非常的有規律具體的目錄以及檔名都是非常有規律)

①獲取輸出的內容寫入到檔案中

②訪問觸發

③檢視結果

對於php實現靜態化常用的方式是使用ob快取的方式來實現

快取順序:

ob快取

程式快取

瀏覽器快取

<?php

ob_start();

echo 「100」;

header(「content-type:text/html;charset=utf8」);

當**執行到第四行,開啟了ob快取。當執行到第六行時由於是輸出的內容。因此需要優先放入到ob快取中。當執行到第九行時。對於header放入到程式快取中。當執行到第十一行時繼續講輸出的內容放入到ob快取中。目前頁面執行完畢。php會自動將ob快取中的內容重新整理到程式快取中。程式快取中的內容與apache提供的預設的響應頭進行封包。最後由apache將結果進行響應。

ob快取注意事項:

1、ob快取可以手動的開啟或者關閉

2、ob快取開啟時。對於php中任何的輸出內容優先的放入到ob快取中。如果碰到header/session/cookie相關會講具體資料放入到程式快取中

3、當頁面執行完畢php會自動的將ob快取中的內容重新整理到程式快取中。

ob_start:開啟ob快取

ob_get_contents:獲取當前ob快取中的內容

ob_clean:清空ob快取中的內容

ob_end_clean:清空ob快取中的內容並且關閉ob快取

ob_flush:手動將ob快取中的內容重新整理到程式快取

ob_end_flush:手動將ob快取中的內容重新整理到程式快取並且關閉ob快取

當乙個php檔案多次使用ob_start函式那麼開啟了多個ob快取區。對於多個ob快取區他們之間具備乙個層次關係。但是對於每乙個ob快取區他們之間相互沒有任何影響

1、建立測試資料表並且寫入資料

2、實現後台的更新操作。使用ob快取針對每乙個內容生成對應的html檔案

3、顯示前台的資料資訊

<?php

$str=ob_get_contents();

file_put_contents(『1.html』,$str);

當訪問某乙個網頁時,從url位址列上看到的跟真靜態(在web伺服器上存在對應的靜態網頁檔案)一模一樣但是本質上web伺服器上不存在對應的對應的檔案而是由動態的語言進行解析的。此方式就是偽靜態。例如在tp框架中 每乙個位址後面.html字尾

對於有的網頁本身不適合做真靜態。例如商品詳情頁面。資料經常變換。為了更加符合搜尋引擎優化,因此使用偽靜態的方式。偽靜態後期效能擴充套件能力更強。後期可以使用負載均衡,分布式,記憶體快取等技術提公升效能

一般劃分為兩種情況

1、使用web伺服器的重寫機制實現(apache、nginx)

2、通過框架的路由實現

①真靜態

1、真實的生成html檔案在伺服器上效率比較快

2、減少了php以及mysql的伺服器的壓力

3、增加了搜尋引擎的優化體驗

4、真靜態是有真實的html檔案存在,會需要占用很大磁碟儲存

5、對於真靜態在此效能提公升的能力有限

②偽靜態

1、增加了搜尋引擎的優化體驗

2、效能擴充套件能力比較強

3、對於真靜態本質是由php引擎進行解析

php頁面靜態化

目前cms系統多採用了頁面靜態化,這樣做的好處是 一是能減輕其伺服器的負擔,二是因為生成了html靜態頁面,所以其 被搜尋引擎搜尋到的機率更大一些,也就是為了 推廣。1 頁面靜態化分類 真靜態 通過程式生成靜態頁面檔案,當我們訪問的時候,就是直接訪問的靜態頁面。偽靜態 是動態的 看起來像靜態的 換句...

php 頁面靜態化

php靜態化的簡單理解就是使 生成頁面以靜態html的形式展現在訪客面前,php靜態化分純靜態化和偽靜態化。兩者的區別在於php生成靜態頁面的處理機制不同。1.ob快取實現 頁面在輸出之前,會將輸出資料暫時存放到buffer 緩衝器 中,然後才會輸出到頁面,所以buffer中的資料就是php 執行後...

php頁面靜態化

php頁面靜態化 php靜態化的簡單理解就是使 生成頁面以靜態html的形式展現在訪客面前,php靜態化分純靜態化和偽靜態化,兩者的區別在於php生成靜態頁面的處理機制不同。為什麼要頁面靜態化 一 加快頁面開啟瀏覽速度,靜態頁面無需連線資料庫開啟速度較動態頁面有明顯提高 二 有利於搜尋引擎優化seo...