fly-proxy now supports ZSTD content encoding

If you use http handler for your service, which is the default setting for [http_service] fly.toml configuration, fly-proxy compresses HTTP responses sent by your app.

Brotli had been the preferred compression algorithm used by the proxy until now, as it provides good compression rate and fast compression/decompression speed.

Recently, Chrome added support for ZSTD compression algorithm (Chrome Platform Status), the other major browsers are expected to follow. fly-proxy now supports it too. Compared to Brotli, ZSTD is slightly faster to compress on the server side and much faster to decompress on the client side.

You don’t need to do anything to enable it for your app. If the client indicates support for ZSTD via Accept-Encoding HTTP header, the proxy will use it as the new preferred compression algorithm.

10 Likes

How to use gzip instead of zstd?

Hey @sarat

If you control the client you can just omit zstd and br from Accept-Encoding.
If you don’t control the client, you can gzip compress the responses in your app. The proxy won’t touch the response if it’s already compressed by an app.

1 Like

Got it. Thanks.