動態頁面(***.php/***.asp等等這些伺服器端指令碼語言都是用來寫動態頁面的)
靜態頁面(html標籤)
當使用者訪問我們的頁面時,頁面需要載入一系列的資源,那麼就需要響應時間,這個過程緩慢會造成使用者體驗度不好,會損失使用者,所以作為開發工程師的我們,就要優化頁面的響應時間。
1.動態頁面靜態化
2.優化資料庫
3.負載均衡
4.使用快取
還有其他優化頁面響應時間的方法。
主要實現1.動態頁面靜態化應用場景:頁面內容不經常改動時,使用此技術是非常有效的方法
實質就是:生成靜態的html頁面
好處:減少伺服器指令碼的時間,降低伺服器響應的時間
這裡要說乙個知識點:php檔案的執行順序語法分析----編譯----執行----展示結果html檔案執行順序執行
例如 http://localhost/index.php?m=admin*c=admin&a=index => http://localhost/admin.shtml
從伺服器(nginx/apache中修改)
輸出流程:內容--->php buffer--->tcp--->網路
相關配置項output_buffer實現基本方式
ob函式
1.file_put_content($filename,$content) 1.fopen 2.fwrite() 3.fclose()
ob函式 ob_start()//開啟輸出緩衝區ob_get_contents()//獲取快取區內容ob_clean()//清空快取區 ob_get_clean()//得到當前緩衝區內容並刪除當前輸出緩衝區
第一步 連線資料庫從資料庫中取資料
第二步開啟緩衝區套用模版
第三步生成靜態html檔案
第四步清空快取區
示例**:
ob_start();
require
"引入需要靜態的模版";
file_put_contents(『生成靜態檔案的名稱』,ob_get_clean());//這裡是將緩衝區內容寫到檔案並清空快取區.
必須掌握的方式:1.頁面新增快取時間
2.手動觸發方式
3.crontab定時掃瞄程式
1.頁面新增快取時間實現方式(增加判斷)
if(is_file('檔案的路徑') && time()-filemtime('檔案的路徑')< 自己設定時間 ){
//存在靜態檔案並且修改時間小於設定的時間則直接載入靜態檔案即可
require_once "靜態檔案";
}else
2.手動觸發 在後台模版中新增按鈕來觸發更新
3.crontab實現
在linux下 crontab -e 編輯 定時任務 時區 */分 */時 */日 */月 */周
php路徑具體如何實現要看業務需求。
這裡涉及到ajax技術 jquery中ajax請求方式:
$.ajax();
}});
首先要編寫api檔案連線資料庫等等操作取出資料並且便利資料
定義乙個返回資料的函式:
function show($status=0,$message=『error』,$data=array())
PHP實現頁面靜態化 純靜態化及偽靜態化
php靜態化分為 純靜態化 和 偽靜態化 純靜態化又分為 區域性靜態化 和 完全靜態化 純靜態化 是把php生成的動態頁面儲存成靜態的html檔案,使用者訪問該靜態頁面,而不是使用者每一次訪問都重新生成一張相同的網頁,優點就是減小伺服器開銷,區域性靜態化 是生成的靜態檔案中,有區域性的資料還是通過a...
php頁面靜態化
目前cms系統多採用了頁面靜態化,這樣做的好處是 一是能減輕其伺服器的負擔,二是因為生成了html靜態頁面,所以其 被搜尋引擎搜尋到的機率更大一些,也就是為了 推廣。1 頁面靜態化分類 真靜態 通過程式生成靜態頁面檔案,當我們訪問的時候,就是直接訪問的靜態頁面。偽靜態 是動態的 看起來像靜態的 換句...
php 頁面靜態化
php靜態化的簡單理解就是使 生成頁面以靜態html的形式展現在訪客面前,php靜態化分純靜態化和偽靜態化。兩者的區別在於php生成靜態頁面的處理機制不同。1.ob快取實現 頁面在輸出之前,會將輸出資料暫時存放到buffer 緩衝器 中,然後才會輸出到頁面,所以buffer中的資料就是php 執行後...