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