开启GZip后,实际上是优化网络传输,减少文件大小。代价就是服务端和客户端需要对文件进行压缩和解压缩,消耗CUP和内存
gzip是GNUzip的缩写,最早用于UNIX系统的文件压缩。HTTP协议上的gzip编码是一种用来改进web应用程序性能的技术,web服务器和客户端(浏览器)必须共同支持gzip。目前主流的浏览器,Chrome,firefox,IE等都支持该协议。常见的服务器如Apache,Nginx,IIS同样支持gzip
gzip配置的常用参数
gzip on|off; #是否开启gzip
gzip_buffers 32 4K| 16 8K #缓冲(压缩在内存中缓冲几块? 每块多大?)
gzip_comp_level [1-9] #推荐6 压缩级别(级别越高,压的越小,越浪费CPU计算资源)
gzip_disable #正则匹配UA 什么样的Uri不进行gzip
gzip_min_length 200 # 开始压缩的最小长度(再小就不要压缩了,意义不在)
gzip_http_version 1.0|1.1 # 开始压缩的http协议版本(可以不设置,目前几乎全是1.1协议)
gzip_proxied # 设置请求者代理服务器,该如何缓存内容
gzip_types text/plain application/xml # 对哪些类型的文件用压缩 如txt,xml,html ,css
gzip_vary on|off # 是否传输gzip压缩标志
对于用vue打包后,几个js文件比较大,一个文件达到了7.5MB,加载了26秒。要想一秒内加载完成,带宽要达到70M,带宽是云服务器里面最贵的一个资源之一。。。
开启了Gzip后,大小变成了1.4MB,加载用了3秒,速度提升了近10倍。
除了简单的开启Gzip,还可以在打包的时候进行相关优化,打包的时候进行压缩。免去服务器端的压缩过程
还可以开启CDN的加速功能等