文本文件压缩
-
启用 Gzip 压缩
http { gzip on; # 开启压缩 gzip_types text/plain text/css application/javascript application/json image/svg+xml; # 指定压缩的文件类型(文本、CSS、JS、JSON) gzip_min_length 1024; # 仅压缩大于 1KB 的文件,避免小文件压缩带来的开销 gzip_comp_level 6; # 压缩级别(1-9,越大压缩率越高但 CPU 占用更高) }
低配置服务器 👉 选 Gzip(兼容性好,CPU 占用低)。
-
启用 Brotli 压缩
http { brotli on; # 开启压缩 brotli_comp_level 6; # 压缩级别(1-11,6 是推荐值,平衡速度和压缩率) brotli_types text/plain text/html text/css application/javascript application/json image/svg+xml; }
CDN / 现代服务器 👉 选 Brotli(压缩率更高)。
-
验证是否启用压缩
如果资源的响应头
Content-Encoding
的值是br
或gzip
则表示已经启用了压缩。 -
最佳实践
同时开启
Brotli
和Gzip
,允许浏览器按支持情况自动选择。压缩方式 支持情况 压缩率 解压速度 服务器支持 Gzip 所有浏览器 60-80% 快 Nginx、Apache、Node.js、CDN Brotli 现代浏览器 (Chrome 49+, Edge 15+, Firefox 44+) 更高(80-90%) 快 Nginx、Apache、Cloudflare、Node.js http { # 允许浏览器按支持情况选择 Brotli 或 Gzip gzip_vary on; }
当浏览器请求资源时,它会发送
Accept-Encoding
头告诉服务器它支持哪些压缩格式