内容压缩

功能简介

内容压缩功能为 智能压缩 的升级版,支持除了 HOST 之外的更多匹配条件。启用内容压缩后,EdgeOne 将在客户端请求头中携带有 Accept-Encoding:br,gzip 或者 Accept-Encoding:br 或者 Accept-Encoding:gzip 时,节点将根据文件的 Content-Type 来进行智能压缩,压缩后文件可以有效地减少资源的大小,加快内容的传输速度。
说明:
内容压缩为白名单功能,如需使用,请 联系我们
内容压缩功能当前仅支持开启,不支持关闭。
内容压缩支持 HOST、文件后缀、HTTP 响应头部 Content-Type 等匹配条件,当使用 HTTP 响应头部 Content-Type 作为匹配条件时,需要将 Content-Type 列表写在一条 IF 规则里。若配置多条 IF,则最下面的 IF 规则会覆盖上面的,即最终只有最下面的 IF 规则生效。
同时配置内容压缩和智能压缩时,内容压缩优先级更高。

操作步骤

场景一:根据特定文件后缀开启内容压缩

若您需要针对域名 www.example.com 下的文件后缀 html、htm、xhtml 开启内容压缩,可参考以下步骤:
1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,进入服务总览,单击网站安全加速内需配置的站点。
2. 在站点详情页面,单击站点加速,进入站点全局配置页面,单击规则引擎 Tab 页。
3. 在规则引擎页面,单击创建规则,选择新增空白规则
4. 在规则编辑页面,匹配类型选择为 HOST 等于 www.example.com,同时设置文件后缀等于html、htm、xhtml
5. 单击操作 > 选择框,在弹出的操作列表内,选择操作为内容压缩




场景二:根据特定文件 Content-Type 开启内容压缩

若您需要针对域名 www.example.com 下的文件 Content-Type: application/graphql+json 开启内容压缩,可参考以下步骤:
1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,进入服务总览,单击网站安全加速内需配置的站点。
2. 在站点详情页面,单击站点加速,进入站点全局配置页面,单击规则引擎 Tab 页。
3. 在规则引擎页面,单击创建规则,选择新增空白规则
4. 在规则编辑页面,外层 IF 匹配类型选择为 HOST 等于 www.example.com,同时内层 IF 设置 HTTP 响应头名称为 Content-Type,值等于 application/graphql+json
5. 单击操作 > 选择框,在弹出的操作列表内,选择操作为内容压缩




相关参考

内容压缩生效规则

1. 内容压缩支持的文件大小范围:256B - 30MB。
2. 内容压缩为同步压缩,在回源获取文件同时压缩文件,首次请求压缩文件时节点可直接响应压缩后的文件。
3. 内容压缩将同时开启 Gzip 压缩和 Brotli 压缩,当客户端请求头 Accept-Encoding 同时携带有 br 和 gzip 时:
如果节点内已有缓存内容,则按照如下规则响应:
若节点同时有 Brotli 和 gzip 压缩的缓存内容,则优先响应 Brotli 压缩。
若节点仅有 Brotli 压缩的缓存内容,则优先响应 Brotli 压缩。
若节点仅有 gzip 压缩的缓存内容,则优先响应 Gzip 压缩。
如果节点内未有缓存内容,则优先响应 Brotli 压缩。
4. 若源站开启了压缩功能,且服务端携带响应头:Content-Encoding,则内容压缩功能将不再生效。

请求示例

未开启智能压缩&内容压缩
首次请求 gzip 压缩文件,未命中节点缓存,回源获取原文件并缓存至节点,EdgeOne 响应原文件:


开启内容压缩
首次请求 gzip 压缩文件,未命中节点缓存,回源获取文件,节点同步压缩并缓存压缩后的文件,EdgeOne 响应压缩文件:
智能压缩支持 chunk 流式压缩,若请求未命中节点缓存,回源获取文件后会以 chunk 的方式响应。


再次请求,命中节点 gzip 压缩文件的缓存,节点直接响应压缩文件。