大数跨境

启用 Gzip 压缩可使您的网站速度提升高达 90%

启用 Gzip 压缩可使您的网站速度提升高达 90% 电商实践
2018-03-16
3
导读:您的 Web 服务器未启用 Gzip?贵公司应当启用。开启 Gzip 压缩可将页面初始加载时间缩短多达 90%。更快的网页加载速度甚至可能带来更好的搜索引擎排名、更高的网站流量以及更多的销售额。

Web 服务器未启用 Gzip?建议立即开启。Gzip 压缩可将首屏加载时间缩短高达 90%,进而提升搜索引擎排名、增加网站流量并促进销售转化。

Gzip 压缩已是行业标配,您的服务器可能已默认启用。可通过 Google PageSpeed Insights 或 Varvy Gzip Compression Test 等工具快速验证。

花几秒测试确认站点是否已启用 Gzip 压缩是值得的。

若已启用 Gzip,可转向其他提速策略(如 HTTP/2)以获取更多客户;若未启用,请尽快配置并测试。

Gzip 工作原理

Gzip 是一种专为 HTML、CSS、JavaScript 和 JSON 等文本文件设计的压缩技术,已有 20 余年历史。作为互联网最主流的压缩格式之一,它能实现极速编解码并显著减小文件体积。

Gzip 通过 LZ77 算法识别冗余模式,再利用“霍夫曼树”减少表达这些模式所需的字符数,从而实现高效压缩。

配置 Web 服务器后,可在向用户浏览器发送文件前自动进行 Gzip 压缩,有效降低传输负载。

需压缩的文件类型

下文将介绍两大主流 Web 服务器的 Gzip 配置方法。建议对以下 MIME 类型启用压缩:

  • HTML – text/html
  • CSS – text/css
  • JSON – application/json
  • JavaScript – application/javascript / text/javascript
  • XML – application/xml / text/xml
  • SVG – image/svg+xml

根据站点实际情况,还可对字体、RSS 订阅源等进行压缩。完整 MIME 类型列表可查阅 IANA(互联网号码分配机构)官网。

Apache Web 服务器配置

Apache 是最流行的 Web 服务器,据 Netcraft 调查,截至 2018 年 2 月约 44% 的活跃网站使用 Apache。

Apache 使用 mod_deflate 模块启用输出压缩。该模块属于 Apache 2 核心包,通常已预装(Ubuntu 路径示例:/usr/lib/apache2/modules/mod_deflate.so)。

启用步骤:

  1. 打开模块配置文件(通常位于 /etc/apache2/mods-available/deflate.load)。
  2. 找到 LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so,若行首有 # 号则删除以取消注释。
  3. 重启 Apache:sudo apachectl restart 或 sudo service apache2 restart。

配置压缩规则:

编辑默认配置文件(通常位于 /etc/apache2/mods-available/deflate.conf),添加如下指令:

<IfModule mod_deflate.c>
  <IfModule mod_filter.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/x-javascript application/javascript
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/xml
  </IfModule>
</IfModule>

每个 AddOutputFilterByType 参数对应一个需压缩的 MIME 类型。

Nginx Web 服务器配置

据 Netcraft 调查,约 21% 的活跃网站使用 Nginx。以下步骤基于 Nginx 官方指南整理。

配置步骤:

  1. 打开 Nginx 配置文件(Ubuntu 示例:/etc/nginx/nginx.conf),命令:sudo nano /etc/nginx/nginx.conf。
  2. 找到 gzip 配置段(# 开头为注释行):
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json ...
  1. gzip on 默认仅压缩 text/html。取消其他参数注释,并新增 gzip_min_length 256;。

gzip_min_length 设定最小压缩阈值(建议 256 字节)。过小的文件压缩耗时可能超过直接传输时间,反而影响速度。

优化后的配置示例:

##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_min_length 256;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json ...
  1. 重载 Nginx:sudo systemctl reload nginx 或 sudo service nginx reload。

各 gzip 参数详解请参阅 Nginx 官方文档。

【声明】内容源于网络
0
0
电商实践
电商实践
内容 8035
粉丝 0
电商实践 电商实践
总阅读1.1k
粉丝0
内容8.0k