前段时间和一些做网站开发测试的朋友在聊天时,他们提到在做网站测试时发现只要是在公司内走微软TMG访问一些带有GZIP格式的页面时,发现GZIP就失效了,我正好一直在搞ISA/TMG,就想让我帮想想看是哪里出问题了?当时聊时我也感觉有些意外,正常来说不会对GZIP进行限制的,于是我回家就自己搭了一个类似的环境简单测试了一些,希望能帮助他们找到问题所在,首先,我去查了一此关于GZIP的内容,当然关于GZIP的解释说明还是很多的,我简单地把一些内容也给摘出来,方便我们了解一些,哈哈。

     ZIP名词解释:

HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块。

     了解了这些东东后,就该看看到底是哪个环节出现问题了,首先我们先来看看在TMG上没有做任何操作时,TMG日志分析抓到的现象是什么样子的?如下图所示;

     1、GZIP失效:

     p_w_picpath

通过上图我们可以看到,连接状态好像没有显示当前连接采用GZIP?但是明明这个网站是有GZIP的……

我又在没有TMG的环境下进行了一次测试,看看如果有GZIP的话,网站连接状态又会是什么样的呢?我在这里也截了一个图图,如下图所示;

p_w_picpath

可以看到未经过TMG访问同样的页面,连接状态中是显示GZIP的,看来和TMG还是有一定关系的。

这时凭经验感觉,这个有可能出现在TMG自身的“HTTP压缩”导致的,于是我就对这个内容进行了些修改测试。

测试变更如下:

1、 首先在TMG管理器中进行在web策略设置节点,单击“HTTP压缩”,确保下图所示的“启用http压缩”被勾选。

clip_p_w_picpath002

2、 在“返回压缩数据”选项卡中,单击“添加”,选择“内部”,如下图所示;

clip_p_w_picpath004

3、 在“请求压缩的数据”处选择“外部”,如下图所示。

clip_p_w_picpath006

改好了,这个策略改成这样主要考虑到,我所请求访问需要GZIP的页面是外部网站,而这个外部网站最终反馈回来的GZIP压缩是给我内部计算机的。

改好后,测试了一下,哈哈GZIP可以正常显示了,看来问题原因还真是TMG中http压缩检测导致,嘿嘿,之前一直有些忙,没来得及发出来,今天工作之余写了一下。Winking smile