1. 程式人生 > >HTTP 之 文件壓縮

HTTP 之 文件壓縮

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 之 文件壓縮