頁面靜態化學習總結

2021-06-16 09:36:47 字數 2743 閱讀 2582

apache/ab.exe 這個程式做**訪問壓力測試。

一、真靜態

php.ini檔案中;

//開啟快取

ob_start();//output buffering

echo "aaaaaaaaa";

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

echo "hello"; 

//ob_get_contents接收output buffering

//ob_clean();//清除output buffering

ob_end_clean();//關閉ob快取,同時清空。

//ob_end_flush();//把ob快取的內在輸出並清空,並關閉ob

//ob_flush();//輸出ob快取並清空,不關閉ob;

echo "kkkkkkkk";//->程式快取,必須在header後面;

頁面靜態化思路:

因為新聞這各資訊不是對實時性要求高,並且比較穩定,所以我們可以這樣做,

當第乙個使用者訪問某條新聞後,我們使用ob的快取機制,把內容快取到html頁面。

當下一次訪問時,直接訪問html即可。 

存在問題:

html靜態面(真靜態)的好處有三點:一是減少伺服器對資料響應的負荷;二是載入不用調動資料庫,響應速度快;

三是便於優化引擎;

缺點也有幾點:一是空間占用比較好大,二是生成的誰的多了,伺服器對html資料夾的響應負擔也較重;

如果乙個系統使用真靜態進行頁面靜態化,需要生成海量的靜態頁面,我們可以考慮使用偽靜態來處理;

二、偽靜態

http://localhost/demo.php/126.12.365.html設計成這樣的靜態**;

目前有兩種方式來處理這種接收方式:

1.在php資料夾中,直接使用正規表示式技術處理;

$_server['path_info'];取出url最後的位址;

2.配置apache的rewrite來處理;

1.配置apache啟用rewrite機制;

在httpd.conf中啟用rewrite

loadmodule rewrite_module modules/mod_rewrite.so

2.配置虛擬主機

到c盤hosts檔案新增你的ip和網域名稱對應

127.0.0.1 www.jmb.com

在http.conf檔案中啟用虛擬主機;

# virtual hosts 啟用虛擬主機

開啟e:\xampp\apache\conf\extra\httpd-vhosts.conf,配置其內容;

##serveradmin [email protected]

#文件根目錄

documentroot "e:/xampp/htdocs/static"

#網域名稱servername www.jmb.com

##serveralias www.dummy-host2.localhost

errorlog "logs/dummy-host2.localhost-error.log"

##customlog "logs/dummy-host2.localhost-access.log" combined

#配置rewrite相關選項

//可以有多個,這個使用於不同目錄下,配置不同訪問許可權;

#拒絕所有的訪問

#deny from all

allow from all

#是否顯示到表(在發布專案後一般是不啟用,針對這個目錄documentroot在htdoc外面的目錄生效)

options +indexes

#是否啟用rewrite

#有時候我們可以把rewrite機制和規則寫在這裡;

allowoverride all

3.在段的配置,預設值,是在httpd.conf中配置,看根目錄;

4.在目錄下新增了乙個.htaccess檔案,這個資料夾是配置rewrite機制和規則;

不同目錄下可以有不同的.htaccess檔案;

//這個意思就是說如果沒有rewrite機制的話,就可以不報錯;

#寫你的rewrite規則

rewriteengine on

#news-id(\d+)\.html$ 是規則 news.php?id=$1是**的頁面

#可以配置多個規則,順序是從上到下;

rewriterule news-id(\d+)\1\.html$ news.php?id=$1

rewriterule abc-id(\d+)\1\.html$ error.php?id=$1

5.這個rewrite的規則也直接在段直接配置;

如果乙個**使用真靜態技術,會生成海量的html靜態頁面,可以考慮使用偽靜態技術來優化我們的**;

url重寫(偽靜態)的好處:一、可以方便的實現對搜尋引擎的優化,並且比生成靜態更加方便。

二、佔空間比較小。三、首頁每天自動變化,不用維護。四、便於廣告的輪顯;

缺點:就是效率不如生成html的,因為它不是真正意義上的靜態頁,每次請求要讀取資料庫的,

但你可以用快取技術來補償一下。

偽靜態是站在seo角度看的,它對應的頁面不是真正存在的,而是每次查詢資料庫得到的資訊;

真靜態的頁面是真正存在的;

頁面靜態化 總結

為了讓公司平台訪問速度 更快 我學習了 頁面的靜態化 這裡用的是其中一種 比較簡單的方式 方法如下 第一為了方便 我建乙個basepage 的類 把具體的方法寫在父類中 第二 現在在一般的頁面中 重寫父類中的page load 方法就行了.如下 protected void page load ob...

離散化學習總結

離散化在演算法競賽中是乙個很常用且非常好用的乙個技巧,所以學習一下這個還是很有必要的。一 離散化 離散化指的是把大數化為小數,並且保持這幾個數的相對大小不變。比如 原數是1 101 102,離散化之後就是1 2 3。二 離散化的實現 假設我們的陣列是a,並且在開乙個輔助陣列b。賦初值時b i a i...

Ant Design Pro 新增頁面強化學習

一 在router.config.js中新增新的頁面 新增 insert,二 在pages中建立資料夾requirement 1 建立js檔案,布置頁面 import react,from react import from dva import from antd const formitem f...