HTTP 之 文件壓縮
阿新 • • 發佈:2017-10-05
deflate_module 文件壓縮
http服務器上要對文件進行壓縮,需要加載mod_deflate模塊
使用mod_deflate模塊壓縮頁面優化傳輸速度,壓縮會對服務器造成負擔,消耗CPU,但是生產中一般是要啟用壓縮模塊,因為生產中是用流量算錢的,但是這邊要兼顧服務器性能
可以指定壓縮比,1--9,9最高,默認是9,發送到客戶端前壓縮,壓縮是成對出現,服務器和客戶端都要支持
.適用場景:
(1)節約帶寬,額外消耗CPU;同時,可能有些較老瀏覽器不支持
(2)壓縮適於壓縮的資源,例如文本文件
模塊:deflate_module,配置如下
LoadModule deflate_module modules/mod_deflate.so
例子一
該例子只是接受配置對客戶瀏覽器的版本支持哪些壓縮,了解即可
vim /etc/httpd/conf.d/deflat.conf # Insert filter SetOutputFilter DEFLATE # Netscape 4.x has someproblems... BrowserMatch ^Mozilla/4gzip-only-text/html #對瀏覽器Netscape 4.x(Mozilla/4)只壓縮text/html這個格式的文件 # Netscape 4.06-4.08have some more problems BrowserMatch^Mozilla/4\.0[678] no-gzip ##對瀏覽器Netscape 4.06-4.08這三個版本的所有文件都不壓縮 # MSIE masquerades asNetscape, but it is fine BrowserMatch \bMSIE!no-gzip !gzip-only-text/html #對IE瀏覽器壓縮文件格式text/html,註意no前面加一個!符號表示雙重取反,如果用戶代理首部匹配字符串“MSIE”(“B”為單詞邊界”),就關閉之前定義的限制,支持壓縮 # Don‘t compress images SetEnvIfNoCaseRequest_URI \.(?:gif|jpe?g|png)$no-gzip dont-vary #如果請求的文件格式是?:gif|jpe?g|png就不壓縮,因為?:gif|jpe?g|png這些格式的文件默認上傳到服務器都是進行壓縮過的,所以服務器不再對這些格式的文件進行壓縮,降低對CPU的負擔 # Make sure proxiesdon‘t deliver the wrong content Header append VaryUser-Agent env=!dont-vary
例子二
在子配置文件中啟用模塊的功能,指定對哪種類型的文件進行壓縮,以下的例子定義對多種格式的文件進行壓縮,實際配置只需要指定服務器上存放文件的格式即可
vim /etc/httpd/conf.d/deflat.conf SetOutputFilter DEFLATE #以上語句是啟用壓縮 DeflateCompressionLevel8 #默認是9,最高壓縮比,這裏重新定義壓縮比為8 # Restrict compression to these MIMEtypes #指定要壓縮的類型 AddOutputFilterByType DEFLATEtext/plain AddOutputFilterByType DEFLATEtext/html AddOutputFilterByType DEFLATEapplication/xhtml+xml AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATEapplication/xml AddOutputFilterByType DEFLATEapplication/x-javascript AddOutputFilterByType DEFLATEtext/javascript AddOutputFilterByType DEFLATEtext/css
重啟服務器後進行測試
1.方法一,開啟瀏覽器調試模式,獲取服務器上的資源,如輸入http://172.18.50.63/fs查看響應頭部
Content-Encoding:gzip和ContenLength:382,跟文件實際大小對比,確實是被壓縮了
2.通過curl來查看對比,命令curl --compress -Ihttp://172.18.50.63/fs,同樣有兩個字段Content-Encoding:
gzip和Content-Length:382
本文出自 “陽光運維” 博客,請務必保留此出處http://ghbsunny.blog.51cto.com/7759574/1970460
HTTP 之 文件壓縮