build vue 静态化_页面静态化
頁面靜態化和靜態緩存
靜態緩存:還需要請求php一些簡單的判斷,只是一些復雜的邏輯結構不需要再進行php處理。如在緩存數據庫中的數據,這樣就不用每次都請求數據庫。典型的例子就是smarty中有頁面靜態緩存。
靜態化:靜態化相對于頁面靜態緩存更進了一步,使用靜態化,就不需要使用php處理任何業務。每次請求的頁面就是一個HTML頁面。所以在優化的層面上,已經達到了頂層。如dedecms中使用生成首頁。下次訪問的時候,只是訪問index.html。沒有任何的php邏輯處理。
使用ob緩存制作頁面靜態化:
ob緩存使用:
在php解釋執行中,在返回到服務器(apache/nginx)時,在這個php中,有一個輸出緩沖區和一個程序緩沖區。要返回的內容都被緩沖到這。
輸出緩沖:要輸出的內容緩沖到這
程序緩沖:是在輸出緩沖的下一個階段,如果輸出緩沖被關閉,內容將緩沖在這。
輸出緩沖:
開啟緩沖:ob_start('這里可以有一個回調函數,也就是前置鉤子函數');這樣接下來的內容都會被緩沖到輸出緩沖中。注意:這里緩沖的內容只能是http主體內容。如:頭信息是不能被緩沖到輸出緩沖區的header('');
刷新緩沖:ob_flush()如果程序在開啟緩沖區時,中間沒有刷新緩沖區,則在腳本運行結束之后會自動刷新緩沖區。
還有很多的ob_系列的函數,可以參見手冊。
注意:在一個頁面中可以開啟多個輸出緩沖區,可以使用ob_get_level()函數,查看當前處于哪個輸出緩沖區中。開啟的多個輸出緩沖是相互嵌套的就像if()語句嵌套一樣。關閉時也是關閉相對應的輸出緩沖。
程序緩沖:
程序緩沖就一個函數flush()來刷新程序緩沖區。不能做任何其他的操作。
弄清了這緩沖區的作用,我們可以讓每次在程序中得到的數據立馬刷新到瀏覽器中。這樣就可以做聊天系統。
ob_end_clean();//關閉緩沖區
while(true){
.....
flush();//刷新程序緩沖區,因為程序緩沖區不能做任何的操作,只有刷新。這樣我們將得到的內容立馬個刷新到瀏覽器中展現出來
}
注意:有的瀏覽器需要到達一定的字節數量才能顯示在瀏覽器中。我們可以使用一個技巧str_repeat(' ',1024);在while()之前輸出,這樣內容就多了。
我們可以通過輸出緩沖將內容寫到相應的html文件中,這樣就可以做頁面靜態化。使用程序控制,下次請求的時候就直接請求HTML。
使用靜態化注意的問題:
css/js/img路徑可能不對,所以在做程序的時候,這些路徑最好是生成根路徑/
可能有的地方的數據需要是最新的。如用戶評論,在解決這個問題我們可以使用ajax技術來彌補這個缺憾,做到部分數據實時性。
總結
以上是生活随笔為你收集整理的build vue 静态化_页面静态化的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 里如何调整字体间距_ai如何填充图案?a
- 下一篇: 快到年底离职怎么说原因 找个好借口辞职更
