文件压缩

ESA通过文件压缩功能针对静态资源进行压缩,以降低传输的数据量,提升网页加载速度。

功能介绍

ESA提供了3种压缩方式:Gzip、BrotliZstd。它们在压缩效率、解压速度和兼容性上各有侧重,适用于不同场景需求。

压缩类型

压缩效率

兼容性

使用场景

Gzip

压缩较快、解压中速。

通用Web服务。

Brotli

压缩较慢、解压高速。

静态资源优化。

Zstd

压缩极快、解压极速。

实时流数据处理。

注意事项

  • 当您同时开启 Gzip、BrotliZstd 时,Zstd 的优先级最高,其次是Brotli。

  • 对于Gzip、BrotliZstd压缩算法,仅在客户端请求头携带对应的Accept-Encoding值时进行响应压缩处理,且源站响应头携带相同Content-Encoding值时不再进行二次压缩处理。

  • 支持的文件类型:text/xmltext/plaintext/cssapplication/javascriptapplication/x-javascriptapplication/rss+xmltext/javascriptimage/tiffimage/svg+xmlapplication/jsonapplication/xml

压缩规则不生效的场景

由于源站或客户端设置项冲突,部分场景下压缩规则不生效。

源站

  • 当源站文件的大小在1 KB-10 MB之间时,才可以使用Gzip压缩或Brotli压缩,对1 KB以下和10 MB以上大小的文件不做压缩。

  • 当源站开启了压缩功能,且服务端响应中携带了响应头Content-Encoding时,压缩规则将不再生效。

  • 当源站发送的响应包含cache-control: no-transformHTTP响应头时,压缩规则不会生效。

客户端

当客户端不支持规则中配置的压缩算法(根据客户端请求头中的Accept-Encoding请求头确定)时,发送到客户端的响应将不会被压缩。

说明

文件压缩规则仅对命中规则条件的请求进行处理。如果您需要配置站点级的压缩规则,详细信息请参考GzipBrotliZstd

新增文件压缩规则

  1. ESA控制台,选择站点管理,在站点列单击目标站点。

  2. 在左侧导航栏,选择规则 > 内容优化规则

  3. 单击新增规则,填写规则名称

  4. 如果请求匹配以下规则...区域设置要匹配的用户请求特征,具体配置规则请参见规则表达式的组成

  5. 则执行…区域,开启需要的压缩方式。

    规则项

    说明

    规则名称

    您自定义的规则名称,支持使用中文字符、英文字符(大小写)、数字(0~9)及下划线_,最大输入64个字符。

    匹配条件

    设置该规则要匹配的请求特征。

    单击逻辑表达符,添加一个条件。一个规则中最多可以添加五个条件。

    每个条件由匹配字段逻辑符匹配内容组成。

    压缩方式

    您可以选择仅开启GzipBrotliZstd三种压缩方式同时开启时,Zstd优先级最高,其次Brotli

不同套餐的支持情况

文件压缩

基础版

标准版

高级版

企业版

支持配置的文件压缩规则数量

不支持

不支持

不支持

10

相关文档

规则相关的功能,在生效优先级、可重入性、生效颗粒度这三个特性上存在差异,详细情况请查看规则相关功能的特性说明