随便打开一个网页,观察http协议的content-length,并右键保存其源码,会发现其内容一般会大于content-lengh中长度?为什么?
怎样配置apache服务器进行这样处理?
修改配置文件呗!
1:开启deflate模块, 或gzip模块
2: 在apache conf文件中,写如下代码
- <ifmodulemod_deflate.c>
- DeflateCompressionLevel6 # 压缩级别为6, 可选1-9,推荐为6
- AddOutputFilterByTypeDEFLATE text/plain # 压缩文本文件
- AddOutputFilterByTypeDEFLATE text/html # 压缩html文件
- AddOutputFilterByTypeDEFLATE text/xml # 压缩xml
- </ifmodule>
为什么要指定文件类型来压缩?
答:压缩也是要耗CPU资源的, 图片/视频等文件,压缩效果也不好.
一般压缩文本格式.
通过上面对比,节省了40%的流量.
服务器怎么知道我们浏览器支持哪些压缩格式?
小技巧: 当我们在采集时,可以不发送Accept-Encoding信息,这样采集直接是源码.
当然,也可以采集gzip(提高速度), 再用PHP解压gzip的内容.