本文将以Nginx
为例,从动态压缩和静态压缩两种情况来讲解前端文件Gzip
的配置。
服务器动态压缩
动态压缩,就是服务器对请求的内容进行压缩再输出,这个过程需要占用CPU
性能。Nginx
配置文件如下:
# 开启动态压缩
gzip on;
# gzip压缩起点,小于设置值的文件将不会被压缩
gzip_min_length 1k;
# 是否在http header中添加Vary: Accept-Encoding
# 用来判断浏览器是否支持压缩,建议开启
gzip_vary on;
# 进行压缩的文件类型
# 这个必须要设置,因为默认值为text/html
# 无论是否指定,”text/html”类型总是会被压缩的。
# 如果仅设置gzip on; 不设置gzip_types,nginx的gzip功能几乎无效。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
以上为基本配置,详细配置请根据实际情况进行具体优化。
服务器使用静态压缩
静态压缩,即前端打包出的文件包含有.gz
后缀名的文件,Nginx
进行相关配置后,即可使用这些现成的.gz
文件,不需要额外消耗CPU
性能进行压缩。
# 开启静态压缩功能
gzip_static on;
开启gzip_static
后,Nginx
会直接使用前端打包文件中的.gz
压缩文件,不需要再进行一步压缩工作,节省了CPU
的性能。
Nginx的Gzip模块配置详解
略
前端实现打包附带.gz
文件
略