Zstandard (zstd)#
O módulo adiciona suporte para compressão Zstandard de respostas, tanto dinâmica (em tempo real) quanto estática (arquivos pré-comprimidos). Comparado ao gzip, o zstd oferece velocidades de compressão e descompressão mais altas com taxas de compressão comparáveis ou melhores.
O módulo consiste em dois componentes:
http_zstd_filter — para comprimir respostas dinamicamente;
http_zstd_static — para servir arquivos pré-comprimidos.
Instalação#
Para instalar o módulo, use um dos seguintes pacotes:
Angie:
angie-module-zstd
Angie PRO:
angie-pro-module-zstd
Carregamento do Módulo#
Habilite os módulos no contexto main{}
:
load_module modules/ngx_http_zstd_filter_module.so;
load_module modules/ngx_http_zstd_static_module.so;
Exemplo de Configuração#
server {
listen 80 default_server;
zstd_types text/plain text/css;
zstd_min_length 256; # Tamanho mínimo da resposta para comprimir
zstd_comp_level 3; # Nível de compressão (1–22)
# Compressão dinâmica para arquivos estáticos
location / {
zstd on;
root /usr/share/angie/html;
}
# Compressão dinâmica para respostas de backend
location /bk/ {
zstd on;
proxy_pass http://127.0.0.1:8081/;
}
# Servindo arquivos pré-comprimidos .zst
location /static/ {
zstd_static on;
root /usr/share/angie;
}
}
server {
listen 8081;
location / {
root /usr/share/angie/html;
index index.html;
}
}
Como Funciona#
Você pode combinar compressão dinâmica (zstd on
) e estática (zstd_static on
). Neste caso, o servidor primeiro procurará por um arquivo pré-comprimido .zst
. Se não existir, ele comprimirá a resposta dinamicamente.
A compressão só é realizada quando o cabeçalho Accept-Encoding
inclui zstd
, por exemplo:
Accept-Encoding: gzip, zstd
Se a compressão for aplicada ou um arquivo pré-comprimido for encontrado, o seguinte cabeçalho de resposta é adicionado:
Content-Encoding: zstd
Mais Informações#
Documentação completa e código-fonte estão disponíveis em: tokers/zstd-nginx-module