您的位置:首页 > 理论基础 > 计算机网络

HTTP压缩

2015-11-29 15:45 429 查看
听说网站压缩可以提高网站性能,具体是怎么回事呢?

答:是的,对文件内容进行压缩可以减小内容的大小,从而加快网络传输,提高网页的呈现速度。一般只对文本文件进行压缩,象图片、视频这些已经经过压缩的二进制数据再进行压缩的意义不大,反而会因为压缩消耗了时间而降低了性能。
客户端是否支持某种压缩编码是通过Accept-Encoding头来控制的,比如Accept-Encoding:gzip说明客户端可以支持gzip压缩编码,
下面我们还是通过一个栗子来看一下压缩前和压缩后的效果,这次我们使用Fiddler的截获报文并重新发送的功能来作这个试验(试验之前,我们要确保我们的nginx环境已经开启了gzip压缩功能):

启动Firefox,启动Fiddler

访问index.html页面



从图中可以看到,浏览器通过Accept-Encoding告知服务器其支持gzip和deflate编码,而服务器通过Content-Encoding头告知浏览器返回的主体内容经过了gzip压缩,压缩后的内容长度是396字节,由于经过压缩,内容如下:



所以客户端得经过解压缩才能还原内容

然后在Fiddler中选中请求,右键->Replay->Reissue and Edit,如下图示:



在Raw选项卡中,我们把Accept-Encoding的数据删除,注意不要删除其后的回车,



编辑完比后,点击“Run to Completion"完成请求



由图可以看出,未经压缩的主体内容大小为612字节,与index.html原始大小一致



注意:虽然客户端压缩可以节省网络传输时间,但天下没有免费的午餐,压缩也是要消耗服务器的CPU的,所以正式环境中,还要视具体情况,通过压力测试工具(又到了我们测试人员大显示身手的时候了)实际测试再决定是否需要开户压缩功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: