压缩我们的静态资源可以减少HTTP响应的大小来减小响应时间,从我们浏览器中请求中我们可以看出浏览器对压缩的支持,根据Accept-Encoding:gzip, deflate, sdch
,我用的是谷歌浏览器,其表示谷歌浏览器支持3中压缩方式,从响应头中可以看到我们选取的是哪中压缩方式,Content-Encoding
,如果没有该字段,表明我们的服务器并没有执行相应的压缩操作。压缩在减小响应的同时,会带来一些副作用,那就是服务器端会消耗资源来完成压缩,浏览器需要对压缩文件进行解压。但是瑕不掩瑜,压缩可以为我们的网站的响应数据了减小
70
左右。
实践:
Apache 2.x
中的压缩通过mod_deflate
模块来完成,操作起来非常简单。
首先打开我们的httpd.conf
文件夹:
找到:
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule filter_module modules/mod_filter.so
如果三条指令前有#
的话,将其去掉。
在文件最后添加代码:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/javascript application/json
</IfModule>
最后在重启一下我们的服务就好了