我们如何知道HTTP压缩是否正常?
我们如何知道HTTP压缩设置是否正常工作?在浏览器将压缩的页面解压缩之前,有什么工具可以用来查看压缩的页面吗?是否有任何工具可以测量压缩量和响应速度?
解决方案
我们可以使用此网站:
http://whatsmyip.org/mod_gzip_test/
对于Windows,我强烈推荐Fiddler,它是一种客户端工具,可以代理网络流量并进行检查。它将向我们显示压缩功能是否正在运行。它对于许多其他客户端HTTP相关的调试和诊断任务也很有用。
使用Fiddler监视HTTP传输。
"构建请求"(创建HTTP GET),并为未压缩的页面检查HTTP响应的" Content-Encoding"标头,然后检查其" Content-Length"。将这些值与压缩页的相同值进行比较。
对于压缩的响应," Content-Encoding"应类似于" gzip",而" Content-Length"应较短。我们可以使用两者的" Content-Length"字段来确定压缩率。
事实证明,前Etherial的Wireshark对我来说是最有价值的工具。
只需选择一个网络适配器(如果有很多),在过滤器字段中键入" tcp port 80",按"捕获"即可。
如果我们想使用低端技术,则可以远程登录到目标服务器上的HTTP端口(80?),然后手动键入请求。如果返回纯文本,则不会被压缩,但是如果我们变得乱七八糟,那么我们就可以使用。如果需要查看标题的结构,可以使用诸如Live HTTP Headers扩展之类的内容从Firefox复制它们。
对于Firefox,请查看以下添加组件:
- 萤火虫
- HttpFox
两者均可用于监视我们往返浏览器的流量(我们可以看到每个响应的大小)。我特别喜欢Httpfox,这是我每天都使用的非常不错的插件。
除了Fiddler之类的功能来查看HTTP级别的流量外,我们还可以将Firefox与Firebug和YSlow添加组件一起使用。 YSlow为我们提供了许多有用的分析,以分析其中的页面为何变慢的原因,它提供了请求下载的各种资产(HTML,CSS,JavaScript,图像和其他媒体等)的大小。如果在启用压缩的情况下HTML较小,那么我们可以比较使用压缩和不使用压缩的页面大小,知道它可以正常工作。它还将为我们提供带有空缓存和预填充缓存的值,使我们可以看到为新访问者和回访者节省了多少。
我们搜索了一下。显然,有很多站点可以验证我们的页面是否已压缩。