apache站点优化—数据压缩
一、數據壓縮介紹
數據從服務器傳輸到客戶端,需要傳輸時間,文件越大傳輸時間就越長,為了減少傳輸時間,我們一般把數據壓縮后在傳給客戶端。
apache支持兩種壓縮:deflate、gzip
mod_gzip 和mod_deflate比較
首先一個區別是安裝它們的Apache Web服務器版本的差異。Apache 1.x系列沒有內建網頁壓縮技術,所以才去用額外的第三方mod_gzip 模塊來執行壓縮。而Apache 2.x官方在開發的時候,就把網頁壓縮考慮進去,內建了mod_deflate 這個模塊,用以取代mod_gzip。雖然兩者都是使用的Gzip壓縮算法,它們的運作原理是類似的。
第二個區別是壓縮質量。mod_deflate 壓縮速度略快而mod_gzip 的壓縮比略高。一般默認情況下,mod_gzip 會比mod_deflate 多出4%~6%的壓縮量。
那么,為什么使用mod_deflate?第三個區別是對服務器資源的占用。 一般來說mod_gzip 對服務器CPU的占用要高一些。mod_deflate 是專門為確保服務器的性能而使用的一個壓縮模塊,mod_deflate 需要較少的資源來壓縮文件。這意味著在高流量的服務器,使用mod_deflate 可能會比mod_gzip 加載速度更快。
應用場景:數據壓縮傳輸
優化目的:提升用戶訪問頁面加載速度,節約帶寬
二、數據壓縮實現
1)開啟模塊
LoadModule deflate_module modules/mod_deflate.so
2)調用模塊
DeflateCompressionLevel 4 AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php AddOutputFilter DEFLATE js css BrowserMatch \bMSIE\s[1-6] dont-vary SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary# 壓縮等級 4 1-9,數字越大壓縮的越好,也越占用CPU時間 DeflateCompressionLevel 4 # 壓縮類型 html、xml、php、css、js AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php AddOutputFilter DEFLATE js css #瀏覽器匹配 IE1-6的不壓縮 BrowserMatch \bMSIE\s[1-6] dont-vary #設置不壓縮的文件,注意圖片本身就是壓縮過的,所以不需要再壓縮 SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary三 測試
1)生成HTML數據頁面
2)未啟用壓縮前通過瀏覽器訪問該頁面,通過開發者工具查看頁面大小
3)啟用壓縮再次通過瀏覽器訪問該頁面,通過開發者工具查看頁面大小,如果明顯變小了則說明壓縮成功。也可以從響應頭中看出多了壓縮字段。
響應頭圖片
總結
以上是生活随笔為你收集整理的apache站点优化—数据压缩的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apache站点优化—静态缓存
- 下一篇: apache站点优化--限速