HTTP压缩

  • 听说网站压缩可以提高网站性能,具体是怎么回事呢?
答:是的,对文件内容进行压缩可以减小内容的大小,从而加快网络传输,提高网页的呈现速度。一般只对文本文件进行压缩,象图片、视频这些已经经过压缩的二进制数据再进行压缩的意义不大,反而会因为压缩消耗了时间而降低了性能。
客户端是否支持某种压缩编码是通过Accept-Encoding头来控制的,比如Accept-Encoding:gzip说明客户端可以支持gzip压缩编码,
下面我们还是通过一个栗子来看一下压缩前和压缩后的效果,这次我们使用Fiddler的截获报文并重新发送的功能来作这个试验(试验之前,我们要确保我们的nginx环境已经开启了gzip压缩功能):
  1. 启动Firefox,启动Fiddler
  2. 访问index.html页面
 
从图中可以看到,浏览器通过Accept-Encoding告知服务器其支持gzip和deflate编码,而服务器通过Content-Encoding头告知浏览器返回的主体内容经过了gzip压缩,压缩后的内容长度是396字节,由于经过压缩,内容如下:
 
所以客户端得经过解压缩才能还原内容
 
  1. 然后在Fiddler中选中请求,右键->Replay->Reissue and Edit,如下图示:
 
 
 
  1. 在Raw选项卡中,我们把Accept-Encoding的数据删除,注意不要删除其后的回车,
 
 
 
  1. 编辑完比后,点击“Run to Completion"完成请求
 
 
由图可以看出,未经压缩的主体内容大小为612字节,与index.html原始大小一致
 
 
 
注意:虽然客户端压缩可以节省网络传输时间,但天下没有免费的午餐,压缩也是要消耗服务器的CPU的,所以正式环境中,还要视具体情况,通过压力测试工具(又到了我们测试人员大显示身手的时候了)实际测试再决定是否需要开户压缩功能。
 
posted on 2015-11-29 15:45  栗子测试  阅读(412)  评论(0编辑  收藏  举报