gzipon;
gzip_comp_level6;(1-9,9压缩率最高但最耗CPU,6是平衡点)
gzip_typestext/plainapplication/javascriptapplication/x-javascripttext/cssapplication/xmltext/javascript;
注意,不要压缩图片、视频等二进制文件,这些文件本身已经过高度压缩,再次用gzip处理不仅效果微乎其微,还会浪费CPU资源。
如果你使用的是Apache,需要确保
mod_deflate模块已启用,在.htaccess文件或主配置文件中添加:
AddOutputFilterByTypeDEFLATEtext/htmltext/plaintext/xmltext/cssapplication/javascript
DeflateCompressionLevel6
配置完成后,如何确认gzip真的在工作?你可以使用浏览器的开发者工具,或者命令行工具curl。
在终端输入:curl-I-H"Accept-Encoding:gzip"https://yourdomain.com
查看返回的HTTP头,如果看到Content-Encoding:gzip,说明压缩生效,对比Content-Length(压缩后大小)和实际文件大小,可以直观看到压缩比例。
搜索引擎优化(SEO)不仅仅是关键词布局,页面加载速度也是核心排名因素之一。
据统计,页面加载时间每增加1秒,跳出率可能显著上升,gzip通过减少传输数据量,直接缩短了TTFB(首字节时间)和DOM渲染时间,对于移动端用户,带宽可能不稳定,gzip带来的体积缩减能极大改善体验。
对于高流量网站,带宽成本是一笔巨大开支,通过启用gzip,可以将文本类资源的体积压缩至原来的20%到30%,这意味着,原本需要100MB带宽传输的内容,现在只需30MB,对于日均百万PV的网站,这节省的带宽费用相当可观。
gzip压缩和解压都需要消耗CPU资源,在低配服务器上,如果并发量极大,可能会造成CPU瓶颈,业内共识认为,应根据服务器硬件配置调整压缩级别,通常建议将压缩级别设置在4-6之间,以平衡CPU占用和压缩率,如果服务器性能充足,可以适当提高级别;如果性能紧张,可降低级别或仅对关键资源启用压缩。
并非所有文件都适合gzip,HTML、CSS、JavaScript、JSON、XML等文本文件压缩效果极佳,因为其中存在大量重复字符和结构,而JPEG、PNG、MP4、PDF等二进制文件,本身已经过专用算法压缩,再次使用gzip压缩效果甚微,甚至可能略微增大文件体积,仅对文本类型资源启用gzip是最佳实践。
压缩率低通常有几个原因:一是文件本身已经很小,压缩开销可能超过节省的空间;二是文件类型不适合,如图片文件;三是压缩级别设置过低,建议检查被压缩文件的类型和大小,确保针对大体积文本文件启用较高压缩级别,据行业经验,对于超过1KB的文本文件,gzip通常能带来显著的体积缩减。