今天有几种类型的Gzip文件和应用程序可以让你在HTTP内容提供给客户端之前对其进行压缩,这些都是在Unix和类Unix系统上使用的。作为这一过程的结果,一个文件被发现缩小了80%之多,从而导致更快的页面加载时间,更少的带宽消耗,以及SSL开销的减少。
压缩可以在内容离开服务器之前使用,以减少文件大小来解决这个问题。有一种标准的压缩方法叫Gzip,它被网络服务器、浏览器和其他应用程序广泛用于内容在互联网上传输时的无缝压缩和解压。使用gzip压缩算法,它可以将JavaScript、CSS和HTML文件的大小减少90%,主要用于代码和文本文件。
Gzip是如何工作的?
- 为了确定浏览器是否能够支持gzip压缩,服务器在收到一个网页的请求时,会检查请求的标题。
- 如果是这种情况,服务器将在应用gzip压缩之前生成页面的标记。
- 为了向最终用户提供压缩的数据流,Gzip将标记内容转换成压缩的数据流。
- 有一个过程,一旦压缩流到达终端用户的浏览器,就会被解压缩。
- 用GZIP压缩网络内容是网络上最流行的内容压缩技术之一。据估计,互联网上超过百分之五十的网站都使用GNU Zip的无损压缩技术来压缩从网页到其引用的视频和照片的所有内容。
尽管GZIP在现今很受欢迎,但标准版的压缩率往往达不到Brotli的压缩率,比GZIP标准版的改进不大。此外,随着网站转向比GZIP更现代的技术,GZIP的采用率现在正慢慢呈下降趋势。
压缩级别对资源使用的影响
与其他压缩过程不同,Gzip压缩依赖于CPU,有多种压缩级别可供选择。压缩级别越高,文件越小,但需要的CPU时间也越多。
据估计,在过去十年中,一个网页的平均大小增加了近1.2MB。因此,随着我们对信息需求的增加,越来越有必要开发快速和有效地提供大量数据的方法。
什么时候应该使用GZIP?
GZIP的压缩算法为静态和动态内容提供了可接受的压缩水平,而且它们的速度足够快,几乎可以在任何客户端/服务器上运行。此外,今天使用的许多技术都能很好地处理静态内容,如bz2、xz和Brotli。
尽管网络对GNU Zip的支持在缓慢下降,但它仍有许多用途,将使它在许多年内保持其相关性。例如,不管有什么新的压缩技术,在服务器端的处理和客户端的压缩率之间总会有一个权衡。
如果你有兴趣阅读更多此类文章,请查看海鹰媒体。