:80 # All the options encode gzip zstd { minimum_length 256 match { status 2xx 4xx 500 header Content-Type text/* header Content-Type application/json* header Content-Type application/javascript* header Content-Type application/xhtml+xml* header Content-Type application/atom+xml* header Content-Type application/rss+xml* header Content-Type image/svg+xml* } } # Long way with a block for each encoding encode { zstd gzip 5 } ---------- { "apps": { "http": { "servers": { "srv0": { "listen": [ ":80" ], "routes": [ { "handle": [ { "encodings": { "gzip": {}, "zstd": {} }, "handler": "encode", "match": { "headers": { "Content-Type": [ "text/*", "application/json*", "application/javascript*", "application/xhtml+xml*", "application/atom+xml*", "application/rss+xml*", "image/svg+xml*" ] }, "status_code": [ 2, 4, 500 ] }, "minimum_length": 256, "prefer": [ "gzip", "zstd" ] }, { "encodings": { "gzip": { "level": 5 }, "zstd": {} }, "handler": "encode", "prefer": [ "zstd", "gzip" ] } ] } ] } } } } }