除了缓存之外,GZIP是否开启对于网络传输的效率也有着不可忽视的作用。GZIP是指将数据压缩之后在经由网络进行传输,而后利用浏览器原生的GZIP支持对数据进行解压缩的技术。目前的主流浏览器已全部支持了GZIP算法。
对于HTML这种类型的信息,GZIP的压缩算法非常有效,它的压缩比例基本可以保持在80%左右,即100K的HTML信息经过GZIP压缩后可以缩小到25K,这意味这GZIP可以为节省75%的网络开销。GZIP算法目前还不支持上传数据的压缩,但毕竟BS应用所占用的大部分网络带宽来自于数据的下载。因此,综合数据的上传和下载,在进一步的考虑系统底层的网络开销,启用GZIP应当可以为整个应用节约50-65%的网络带宽。(目前的DORADO默认已启用了GZIP压缩)。对于那些网络环境不是特别好的应用,GZIP带来的性能提升将是非常显著的。
另外,不必担心GZIP的压缩和解压缩带来的运算量。因为对于目前计算机的配置而言,对几十K的数据进行压缩和解压缩,不构成负荷压力。
使用Fiddler工具可以很容易的观察到GZIP所带来的传输量变化。Fiddler可以模拟发送支持或不支持GZIP算法的请求,来测试两种情况下得到的响应。
实测http://www.bstek.com/DORADO5/new-feature/new-table.jsp 页面。
当GZIP关闭时,响应的数据量为19,668 bytes
当GZIP打开时,响应的数据量为5,080 bytes
压缩率为74.2%
经过对大量DORADO页面的测试,我们基本可以认为GZIP的压缩率可以稳定在70%-85%之间。其中对于HTML+JavaScript较多的页面,压缩比率一般较高,可达到80%-90%。对于XML数据较多的页面,压缩的比率稍微低一些,在60-75%之间。这是因为DORADO的页面中对于XML数据的输出,本身就已经采用了一种比较紧凑的格式。