如果可以节省50%的带宽而只牺牲网站不到10%的CPU时间。这样做是完全值得的,特别是对于那些按网络流量计费的企业来说更为划算。
浏览器的支持和动态内容
如今,绝大多数的现代浏览器支持压缩技术,但是,具体的压缩方式取决于浏览器。不过你无需对此担心,因为只有浏览器指示支持一种压缩方式时,Web服务器才会发送压缩内容。尽管如果,了解一下这种处理机制和不同浏览器支持的压缩类型仅是一件有意义的事。
浏览器在要求一个网址时,会把支持的压缩格式通过Accept-Encoding的HTTP头提交给服务器,Apache或其它Web服务器则从HTTP_ACCEPT_ENCODING环境变量读取这个信息,这个过程无需你人为干预,Apache在浏览器支持压缩的情况下会自动对发送的内容进行合适的编码。
下表列出了常见的浏览器和它们支持的编码类型。
浏览器支持的编码
Firefox 1.0, Mozilla 1.x, Caminogzip, deflate
OmniWeb 5.xbzip2, gzip, deflate
Safarigzip, deflate
Internet Explorergzip, deflate
“Identity”这个词有时会出现在浏览器支持的编码列表中,这个词的意思就是支持非压缩内容。所有的浏览器都会默认对它提供支持,不过有些没有特别列出。
如上所示,现代的浏览器都支持压缩技术。当发出URL请求时浏览器会自动提供支持的编码。如果你需要使用HTTP压缩技术,只需要对服务器端进行设置就足够了。
总结
使用HTTP压缩是一种简单易行的提高服务器性能和减少带宽消耗的方法,它也有潜在的不足,那就是增大了CPU的开销。但是相对于它带来的好处而言,这个开销是物有所值的。
而且,如果你发现它并没有带来想象中的服务器性能提升,要禁用它也非常简单。它没有改变过你的站点内容,改变的仅是数据传输的方式而已。