Node.js服务器开启gzip压缩教程
复制神的解释:
gzip最初是由Jean loup Gailly和Mark Adler为Unix系统的文件压缩造成的。在Linux,我们经常使用的后缀gz文件,这是gzip格式。现在它已经成为互联网使用非常普遍的数据压缩格式,或者文件format.gzip对HTTP协议的编码是一种用来提高Web应用程序绩效技术,大流量的网站经常使用GZIP压缩技术来让用户感受到更快。这通常被称为WWW服务器的安装功能,当有人来访问这个网站的服务器,服务器将Web内容压缩传输显示访问计算机浏览器后功能。一般的文本内容可以压缩到40%的原始大小。传播如此之快。其效果是,您单击的URL将很快显示。当然,它也会增加服务器上的负载。功能模块安装在总服务器中。
gzip压缩率
例如,JS文件打包通过WebPACK相对较大。虽然我们可以使用块函数将文件从混乱和包中分离出来,但总体积不小。在这个时候,我们将看到gzip压缩的影响。
在启用gzip
经过GZIP启用
比较压缩前后的三个文件的大小:
文本类文件:
Iview.min.js:429kb -> 109kb 309kb -> 81.7kb base.min.js:74.6%的压缩比,压缩比:73.56% style.min.css 207kb -> 30.9kb,85%的压缩比
图片:
图1:63.2kb -> 63.2kb,0%的压缩比
我们看到的文本类文件的压缩效果是非常显著的,但图片的体积没有改变。看看用gzip压缩文本类的HTTP响应头:
这幅画不是:
这是因为图像一般使用gzip(PNG,JPG等)是不好的甚至是相反的,所以它一般默认为图片上没有gzip压缩。
Node.js启用gzip
让我们说怎么结的表达框架使用gzip:
1。安装压缩依赖项:
新安装的压缩
2。电话:
VaR压缩=需要('compression)
var(=);
用于在其他以前的中间件中使用压缩
app.use(压缩());
基本的用法是OK的,如果你只想为一些请求使用这个函数,你可以使用它的过滤方法:
app.use(压缩({过滤:shouldcompress }))
功能shouldcompress(REQ,RES){
如果(REQ。标题{ 'x-no-compression ' }){
这/过滤请求标头contains'x-no-compression
返回false
}
返回compression.filter(REQ,RES)
}
有关其他功能,请参阅压缩文件。
此外,Nginx的配置连接
#在启用和关闭关闭
gzip对;
#设置允许页面最小压缩的字节数,字节可从标题页的内容长度头。默认值是0,无论多少页压缩。建议的字节数大于1K的设置,和小于1K可能更大。
gzip_min_length 1k;
有多少内存用于缓存访问#压缩的结果,16k'said 16k×4单位4
gzip_buffers 4个16K;
# gzip压缩比(1 ~ 9),较小的较小的压缩效果,更慢的处理,所以中间值一般取。
gzip_comp_level 5;
#特定MIME类型的影响,在which'text / html'was被迫启用系统
gzip_types文本/平原应用/ x-javascript文本/应用CSS和XML文本 / / x-httpd-php Javascript应用;
简单说明参数
1)gzip
语法: /关闭gzip
默认值:关闭
作用域:HTTP、服务器、位置
说明:打开或关闭gzip模块,用于显示启动
2)gzip_min_length
语法:gzip_min_length长度
默认值:0 gzip_min_length
作用域:HTTP、服务器、位置
描述:设置页的可压缩的字节数最小,和网页字节数的头球从内容长度得到。默认值是0,无论多少页压缩。建议的字节数大于1K的设置,和小于1k可能更大。|
3)gzip_buffers
语法:gzip_buffers数
默认值:gzip_buffers 4 4k和8k
作用域:HTTP、服务器、位置
描述:设置系统得到了几个单位的缓存来存储gzip的压缩数据流。4个16K的代表4倍的内存作为一个单元一个单元的16K的原始数据的大小,在一个单位16K。
4)gzip_comp_level
语法:gzip_comp_level 1 .. 9
默认值:1 gzip_comp_level
作用域:HTTP、服务器、位置
描述:gzip压缩比,1的压缩比最小的处理速度是最快的,9的压缩比是最大的,但加工是最慢的(传输速度更快但CPU的消耗),这是设置为5。
5)gzip_types
语法:gzip_types MIME类型MIME类型{…}
默认值:gzip_types文本/ HTML
作用域:HTTP、服务器、位置
描述:匹配的MIME压缩类型,和文本/ HTML类型会被压缩,是否规定。它是在这里设置为文本/平原应用/ x-javascript文本/应用CSS和XML文本 / / x-httpd-php Javascript应用。