压缩响应主体
压缩响应主体以节省带宽是一种常见的做法。为了减轻您的负担,我们在 Deploy 中直接构建了这些功能。
Deno Deploy 支持 brotli 和 gzip 压缩。当满足以下条件时,将应用压缩。
- 对您部署的请求具有
Accept-Encoding
标头设置为br
(brotli)或gzip
。 - 来自您部署的响应包含
Content-Type
标头。 - 提供的内容类型是可压缩的;我们使用 此数据库 来确定内容类型是否可压缩。
- 响应主体大小大于 20 字节。
当 Deploy 压缩响应主体时,它将根据使用的压缩算法将 Content-Encoding: gzip
或 Content-Encoding: br
标头设置为响应。
何时跳过压缩? 跳转到标题
如果以下情况,Deno Deploy 将跳过压缩
- 响应具有
Content-Encoding
标头。 - 响应具有
Content-Range
标头。 - 响应的
Cache-Control
标头具有no-transform
值(例如cache-control: public, no-transform
)。
我的 Etag
头会发生什么? 跳转到标题
当您使用响应设置 Etag 标头时,如果我们将压缩应用于您的响应主体,我们将把标头值转换为弱 Etag。如果它已经是弱 Etag,我们不会触碰标头。