免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

php干貨丨深度解析靜態化的好處

2022-12-26    分類: 網站建設

靜態化的好處:雖然百度表示不歧視動態網址,但是動態帶參的網址仍然容易將Baiduspider帶入黑洞,從而被百度放棄,不利于SEO。除了利于SEO,頁面靜態化還能減輕服務器的訪問壓力,降低數據庫的讀寫壓力,利于性能優化。其三,靜態化還能防止SQL注入攻擊。

靜態化的分類:偽靜態和真靜態

偽靜態化:通過修改URL使得動態URL看上去像靜態URL,從而達到親近搜索引擎的目的。例如:

動態URL:http://localhost/news.php?lang=cn&class=1&id=2

靜態URL:http://localhost/news-cn-sport-id2.html

真靜態化:通過模版引擎生成靜態html文件或通過ob緩存靜態化。

【注】頁面靜態化需要偽靜態化和真靜態化結合使用,從而達到最終靜態化的目的。靜態化雖好,但不是所有地方都適用,需要自行判斷優劣。

利用ob緩存實現真靜態化詳解:

Ob緩存:php自帶的緩存,默認開啟,可以在php.ini文件中查看是否開啟。如果ob緩存關閉,那么只有程序緩存,header函數前輸出任何內容都會導致程序報錯。

Php中操作ob緩存的相關函數:

//開啟ob緩存

ob_start();

//把ob內容緩存清空,但是ob緩存還在

ob_clean();

//把ob內容緩存清空,同時關閉ob緩存

ob_end_clean();

//把ob緩存的內容,刷新到程序緩存,同時關閉ob緩存

ob_end_flush();

//把ob緩存的內容,刷新到程序緩存,不關閉ob緩存

ob_flush();

//獲取ob緩存內容

$con=ob_get_contents();

//需要把靜態頁,寫入文件.echoprint_rvar_dump,寫文件,下斷點.

file_put_contents("d://test.html",$con);

該函數是把程序緩存的內容,強制刷新到瀏覽器

//flush();

下面是一個新聞發布系統,類似這種一旦發布更新不大的系統非常適合靜態化。

靜態化的時機可以選擇發布時,或者第一次查看。由于后臺發布系統和前臺查看系統在兩臺不同的服務器上,因此本例是在第一次查看的時候靜態化的。數據庫中除了必要的標題、內容字段外,另外新增了一個靜態化標志,用于判斷是否靜態化。新聞新增和修改的時候會置為0,靜態化的時候會置為1。

代碼邏輯結構:

外層if判斷服務器中靜態文件是否存在,以id命名。

如果存在

內層if判斷靜態化標志是否為1,

如果為1(表示已經靜態化,且無修改)

直接返回該文件;

如果不為1(表示未靜態化,有修改)

打開ob緩存,讀取文章內容,和模版信息,生成要返回的html代碼,并把內容輸出到html文件中,更新靜態化標志為1,重定向到靜態html文件。

如果不存在

打開ob緩存,讀取文章內容,和模版信息,生成要返回的html代碼,并把內容輸出到html文件中,更新靜態化標志為1,重定向到靜態html文件。

具體代碼如下:

本文名稱:php干貨丨深度解析靜態化的好處
地址分享:http://m.newbst.com/news23/225473.html

成都網站建設公司_創新互聯,為您提供動態網站營銷型網站建設云服務器品牌網站建設品牌網站設計全網營銷推廣

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設