一:http内容压缩
![](https://images0.cnblogs.com/blog2015/498475/201503/112255058868453.png)
思考: Content-Length在之前的学习中,我们知道,代表返回的主体的长度
但此处,为什么返回的主体长度和content-length不一致呢?
原因在于: Content-Encoding: gzip 这个响应头信息在作用.
原理: 为了提高网页在网络上的传输速度,服务器对主体信息进行压缩.
如常见的 gzip压缩,deflate压缩, compress压缩,以及google chrome正在推的sdch压缩.
压缩的过程是这样
![](https://images0.cnblogs.com/blog2015/498475/201503/112257220117140.png)
如何在apache启用压缩功能?
1:开启deflate模块, 或gzip模块
2: 在conf文件中,写如下代码
<ifmodule mod_deflate.c>
DeflateCompressionLevel 6 # 压缩级别为6, 可选1-9,推荐为6
AddOutputFilterByType DEFLATE text/plain # 压缩文本文件
AddOutputFilterByType DEFLATE text/html # 压缩html文件
AddOutputFilterByType DEFLATE text/xml # 压缩xml
</ifmodule>
为什么要指定文件类型来压缩?
答:压缩也是要耗CPU资源的, 图片/视频等文件,压缩效果也不好.
一般压缩文本格式.
压缩前:
![](https://images0.cnblogs.com/blog2015/498475/201503/112258576671396.png)
![](https://images0.cnblogs.com/blog2015/498475/201503/112300068086019.png)