前端优化,一般都知道gzip
可以进行网络资源压缩, 降低资源在网络中的传输大小。
那要如何开启gzip呢? (开启Gzip压缩进行前端优化)
那webpack gzip 和 nginx gzip的有什么区别呢?
nginx分为实时gzip和静态gzip。
所谓实时gzip就是无论你的静态资源有没有压缩,我都给你使用gzip压缩一次;
所谓静态gzip,就是当你请求某个静态资源时,我先找下该静态资源有没有对应的gz文件,如果有,那nginx就直接使用gz文件,而不再进行实时gzip压缩, 从而减少了nginx对cpu的使用,加快了响应速度. 不过要使用静态gzip必须要先启用nginx的gzip_static 模块。
gzip_static 指令的指令值可选项说明如下:
on:不检查客户端是否支持 gzip 压缩数据,始终发送 gzip 压缩数据;
always:不检查客户端是否支持 gzip 压缩数据,始终发送 gzip 压缩数据;
该指令的执行优先级高于 gzip 指令;
开启该指令后,默认优先查找以 .gz 为后缀的文件;
gzip_types 指令对 gzip_static 的设置无效;
gzip_static always; # 始终发送静态的gzip压缩数据
gunzip on; # 若客户端浏览器不支持gzip压缩数据,则解压后发送
gunzip_buffers 16 8k; # 解压缓冲区大小为128KB
gzip_proxied expired no-cache no-store private auth; # 当被代理的服务器符合条件时,
# 对响应数据启用gzip压缩
gzip on; # 启用动态gzip压缩功能
gzip_min_length 4k; # 响应数据超过4KB时启用gzip压缩
gzip_buffers 32 4k; # 动态压缩的缓冲区大小是64KB
gzip_comp_level 2; # 压缩级别为2
gzip_types text/plain application/x-javascript
text/css application/xml text/javascript
application/x-httpd-php image/jpeg
image/gif image/png; # 对指定的MIME类型数据启用动态压缩
gzip_vary on; # 向前端代理或缓存服务器发送添加"Vary: Accept-
# Encoding"的响应数据