ESA通过文件压缩功能针对静态资源进行压缩,以降低传输的数据量,提升网页加载速度。
功能介绍
ESA提供了3种压缩方式:Gzip、Brotli和Zstd。它们在压缩效率、解压速度和兼容性上各有侧重,适用于不同场景需求。
压缩类型 | 压缩效率 | 兼容性 | 使用场景 |
Gzip | 压缩较快、解压中速。 | 高 | 通用Web服务。 |
Brotli | 压缩较慢、解压高速。 | 中 | 静态资源优化。 |
Zstd | 压缩极快、解压极速。 | 低 | 实时流数据处理。 |
注意事项
当您同时开启 Gzip、Brotli和Zstd 时,Zstd 的优先级最高,其次是Brotli。
对于Gzip、Brotli和Zstd压缩算法,仅在客户端请求头携带对应的
Accept-Encoding
值时进行响应压缩处理,且源站响应头携带相同Content-Encoding
值时不再进行二次压缩处理。支持的文件类型:
text/xml
、text/plain
、text/css
、application/javascript
、application/x-javascript
、application/rss+xml
、text/javascript
、image/tiff
、image/svg+xml
、application/json
、application/xml
。
压缩规则不生效的场景
由于源站或客户端设置项冲突,部分场景下压缩规则不生效。
源站
当源站文件的大小在1 KB-10 MB之间时,才可以使用Gzip压缩或Brotli压缩,对1 KB以下和10 MB以上大小的文件不做压缩。
当源站开启了压缩功能,且服务端响应中携带了响应头
Content-Encoding
时,压缩规则将不再生效。当源站发送的响应包含
cache-control: no-transform
HTTP响应头时,压缩规则不会生效。
客户端
当客户端不支持规则中配置的压缩算法(根据客户端请求头中的Accept-Encoding
请求头确定)时,发送到客户端的响应将不会被压缩。
新增文件压缩规则
在ESA控制台,选择站点管理,在站点列单击目标站点。
在左侧导航栏,选择 。
单击新增规则,填写规则名称。
在如果请求匹配以下规则...区域设置要匹配的用户请求特征,具体配置规则请参见规则表达式的组成。
在则执行…区域,开启需要的压缩方式。
规则项
说明
规则名称
您自定义的规则名称,支持使用中文字符、英文字符(大小写)、数字(0~9)及下划线
_
,最大输入64个字符。匹配条件
设置该规则要匹配的请求特征。
单击逻辑表达符,添加一个条件。一个规则中最多可以添加五个条件。
每个条件由匹配字段、逻辑符和匹配内容组成。
压缩方式
您可以选择仅开启Gzip、Brotli和Zstd。三种压缩方式同时开启时,Zstd优先级最高,其次Brotli。
不同套餐的支持情况
文件压缩 | 基础版 | 标准版 | 高级版 | 企业版 |
支持配置的文件压缩规则数量 | 不支持 | 不支持 | 不支持 | 10条 |
相关文档
规则相关的功能,在生效优先级、可重入性、生效颗粒度这三个特性上存在差异,详细情况请查看规则相关功能的特性说明。