如何gzip压缩(gzip怎么压缩)

gzip压缩练习

为了提高网页的加载速度,启用gzip来减小资源的大小是一种非常常见的手段。现代浏览器都支持gzip压缩,并且会自动为HTTP请求协商这样的压缩。

本文将对gzip的实践和原理做一个简单的总结。

在收到浏览器的请求后,web服务器将检查浏览器可以接受哪些压缩方法。详见下图。

在浏览器的请求头中,将采用参数Accept-Encoding来解释浏览器支持哪些内容编码方法。

在服务器返回的响应头中有一个内容编码,用于解释数据压缩方法。

几乎所有的浏览器都已经支持gzip,并且有请求头的验证,所以基本不用担心兼容性问题。

在控制台中可以看到压缩前后的体积差异。可以说js和css文件的压缩率还是比较可观的。

使用这种配置,当服务器响应请求时,文件将被压缩,然后压缩的内容将被返回。但是压缩的过程或多或少会占用一些服务器性能,具体的压缩程度,也就是gzip_comp_level设置的值,也会影响性能。接下来,我们来看看网上收集的一些数据,了解不同的值对文件大小和CPU使用率的影响。

可以看到,当压缩级别从0到1时,文件大小明显减小,CPU消耗略有增加。之后文件缩减的速度明显变慢,达到5后压缩级别继续增加,文件量几乎没有减少,但CPU消耗明显增加。

根据结论,如果在服务器端使用gzip压缩,考虑到性能和压缩率的权衡,将压缩级别设置为较低的值是合理的,比如2。

在打包和构建项目时,我们也可以选择gzip压缩文件。

这里以打包一个webpack的前端项目为例。

运行build命令后,您可以看到。js和。css与相应的。gz文件。

在这种压缩方式中,我们完全可以将压缩级别设置为更高的值(默认)。毕竟只是稍微影响了打包时间,但是得到一个更小的包还是值得的。

以nginx为例。静态压缩需要模块http_gzip_static_module。这个模块不是默认的,应该使用-with-http _ gzip _ static _ module的配置参数来启用它。

然后添加到配置中。

这将打开静态压缩。

请注意以下几点:

gzip压缩默认压缩比?

一般情况下,默认压缩比和最佳压缩比(-6和-9):没必要为了增加那一点点的压缩比(1G的原文本文件最终只差了几兆)而增加非常明显(甚至翻倍)的压缩/解压缩时间

默认压缩比和最小压缩比(耗时最短)之间:如果能容忍低一点的压缩比(1G原文本文件最终差4 5十兆)同时注重耗时的话(压缩/解压缩耗时能大幅下降甚至下降一半),可以选择最地的压缩比来获得最高的处理效率

bzip的压缩比在同等级别下都要略高于gzip,但是耗时却明显的高于gzip(基本2倍上下)

不同的压缩比下,gzip的耗时敏感度要高于bzip,即不同压缩比下,gzip耗时的增减幅度要大于bzip(但都远小于bzip)

linux下怎么解后缀名是gzip的文件?

语法:unzip〔选项〕压缩文件名.zip

各选项的含义分别为:

-x文件列表解压缩文件,但不包括指定的file文件。

-v查看压缩文件目录,但不解压。

-t测试文件有无损坏,但不解压。

-d目录把压缩文件解到指定目录下。

-z只显示压缩文件的注解。

-n不覆盖已经存在的文件。

-o覆盖已存在的文件且不要求用户确认。

-j不重建文档的目录结构,把所有文件解压到同一目录下。

例1:将压缩文件text.zip在当前目录下解压缩。

$unziptext.zip

例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

$unzip-ntext.zip-d/tmp

例3:查看压缩文件目录,但不解压。

$unzip-vtext.zip

zgrep命令

这个命令的功能是在压缩文件中寻找匹配的正则表达式,用法和grep命令一样,只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话,便可用zgrep命令。

网页弄个gzip压缩,好还是不好?

gzip 能够压缩文本,减小网页的html代码体积,加快传输到用户浏览器的速度。

虽然压缩会耗用服务器一点资源,但从各方面来说,开起来总是会好点的。

如果你的网站整体有很多图片,开起来效果不明显。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平