2013-05-22 85 views
31

我听说很多人应该使用gZip为他们的网页更快的访问和下载,并且它也节省了带宽。什么是gZip压缩?

那么这是什么gZip压缩,它是如何使下载更快?它是否压缩HTML和图像或只是HTML。

如果我要开始在我的webapps中使用gZip什么注意事项我需要做什么? 是否有任何服务器或浏览器限制它,或它只支持特定的编码。

+0

请充分了解这里。 http://en.wikipedia.org/wiki/Gzip – Nitesh

回答

1

GZip在向浏览器提供请求时压缩文件,如html,js和css文件。随着文件大小的减小,它以更快的方式提供给用户。并非所有浏览器都支持压缩,但现在所有的浏览器都支持这种浏览器强烈建议,但只有一个部分是它增加了服务器的CPU使用情况,这可能在某个时候值得关注。在客户端缓存中使用Gzip将有助于提高性能。

+0

如果您提供的文字信息非常简短,可以将其添加到用户提问其下方的注释区域下方。提供全面的描述性细节以及说明性示例,可以帮助用户以及个人了解这个问题。日Thnx。 - @Devesh – Nitesh

+0

@NathanLee我同意你的观点。非常感谢 – Devesh

30

GZip是一种数据压缩的形式 - 即它需要大量的数据并使其更小。可以通过解压缩压缩文件来恢复原始数据。

它与网络应用程序和网站相关,因为HTTP协议包含gzip正在发送的数据的能力。

这意味着当它被使用时,您为服务该网站的带宽成本将会降低,因为访问该网站的用户将会下载较小的文件。

使用GZip有一些注意事项,但总的来说,使用gzip通常比不使用gzip更好 - 例如,压缩和解压缩文件需要时间和处理器力量,但通常这不是问题因为这样做的时间通常少于下载较小文件所节省的时间。因此,尽管浏览器不得不解压缩文件,但总体效果是节省时间的。

GZip可以压缩所有文件;它不会影响文件类型或编码。很显然,有些文件可以比其他文件更有效地压缩,因此节省的带宽将会有所不同 - HTML等文本文件会产生最佳效果;图像不会被gzip压缩太多,因为它们已经有一些内置的压缩​​。一些文件(例如那些已被严重压缩的文件,例如.zip文件)在gzip时实际上可能会稍微大一些,因为它们不能被进一步压缩,但gzip仍然需要将其元数据添加到文件中。但这些都是边缘情况,并没有太大的区别。

跨HTTP的GZip通常完全透明。最终用户应该完全不知道它正在发生;浏览器会在幕后为他们做。从网络服务器端,只需打开Web服务器软件中的配置设置即可。从你的角度来看,这只是你需要知道的一切;只需在您的服务器上设置gzip设置(或询问您的ISP执行此操作)。如果你不知道,它很可能已经在你的网站上处于活动状态。

+2

是否依赖于浏览器? – Ric

+4

@Ric - 不,所有浏览器都支持它。即使浏览器不支持它,它们仍应该工作 - 它是HTTP 1.1规范的一部分,客户端指定了它支持的压缩类型,服务器将作出相应的响应(例如,如果浏览器说“我可以服务器不会发送gzip文件,我记得在IE6的早期版本中存在一个会破坏gzip的错误,但是web服务器为此实现了解决方法,并且IE6本身在WinXP中得到修复SP2,所以真的不会有很多人仍在使用破损版本 – Spudley

+2

是的,但a)所有常见的浏览器和服务器都支持它,并且b)每次事务都在浏览器和服务器之间协商压缩,所以任何自动处理不常见客户端的支持。 –