<!-- review: finished -->

<a id="http-gzip"></a>

# GZip

Um filtro que comprime respostas usando o método gzip, que permite reduzir o tamanho dos dados transmitidos em 2 vezes ou mais.

#### WARNING
Ao usar o protocolo SSL/TLS, respostas comprimidas podem estar sujeitas a ataques [BREACH](https://en.wikipedia.org/wiki/BREACH).

<a id="configuration-example-20"></a>

## Exemplo de Configuração

```nginx
gzip            on;
gzip_min_length 1000;
gzip_proxied    expired no-cache no-store private auth;
gzip_types      text/plain application/xml;
```

A variável [$gzip_ratio](#v-gzip-ratio) pode ser usada para registrar a taxa de compressão alcançada.

<a id="directives-21"></a>

## Diretivas

<a id="index-0"></a>

<a id="id1"></a>

### gzip

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip` `on` | `off`;                   |
|-------------------------------------------------------------------------------------------|----------------------------------------|
| Padrão                                                                                    | `gzip off;`                            |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location, if in location |

Habilita ou desabilita a compressão gzip das respostas.

<a id="index-1"></a>

<a id="gzip-buffers"></a>

### gzip_buffers

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_buffers` number size;   |
|-------------------------------------------------------------------------------------------|-------------------------------|
| Padrão                                                                                    | `gzip_buffers 32 4k | 16 8k;` |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location        |

Define o número e tamanho dos buffers usados para comprimir uma resposta. Por padrão, o tamanho do buffer é igual a uma página de memória. Isso é 4K ou 8K, dependendo da plataforma.

<a id="index-2"></a>

<a id="gzip-comp-level"></a>

### gzip_comp_level

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_comp_level` level;   |
|-------------------------------------------------------------------------------------------|----------------------------|
| Padrão                                                                                    | `gzip_comp_level 1;`       |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location     |

Define o nível de compressão gzip de uma resposta. Valores aceitáveis estão na faixa de 1 a 9.

<a id="index-3"></a>

<a id="gzip-disable"></a>

### gzip_disable

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_disable` regex ...;   |
|-------------------------------------------------------------------------------------------|-----------------------------|
| Padrão                                                                                    | —                           |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location      |

Desabilita a compressão gzip das respostas para requisições com campos de cabeçalho `User-Agent` que correspondam a qualquer uma das expressões regulares especificadas.

A máscara especial `msie6` corresponde à expressão regular "MSIE [4-6].", mas funciona mais rapidamente. "MSIE 6.0; ... SV1" é excluído desta máscara.

<a id="index-4"></a>

<a id="gzip-http-version"></a>

### gzip_http_version

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_http_version` `1.0` | `1.1`;   |
|-------------------------------------------------------------------------------------------|--------------------------------------|
| Padrão                                                                                    | `gzip_http_version 1.1;`             |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location               |

Define a versão HTTP mínima de uma requisição necessária para comprimir uma resposta.

<a id="index-5"></a>

<a id="gzip-min-length"></a>

### gzip_min_length

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_min_length` length;   |
|-------------------------------------------------------------------------------------------|-----------------------------|
| Padrão                                                                                    | `gzip_min_length 20;`       |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location      |

Define o comprimento mínimo de uma resposta que será comprimida com gzip. O comprimento é determinado apenas pelo campo de cabeçalho de resposta `Content-Length`.

<a id="index-6"></a>

<a id="gzip-proxied"></a>

### gzip_proxied

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_proxied` `off` | `expired` | `no-cache` | `no-store` | `private` | `no_last_modified` | `no_etag` | `auth` | `any` ...;   |
|-------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|
| Padrão                                                                                    | `gzip_proxied off;`                                                                                                             |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location                                                                                                          |

Habilita ou desabilita a compressão gzip das respostas para requisições com proxy dependendo da requisição e resposta. O fato de que a requisição é com proxy é determinado pela presença do campo de cabeçalho de requisição `Via`. A diretiva aceita múltiplos parâmetros:

| `off`              | desabilita compressão para todas as requisições com proxy, ignorando outros parâmetros;                      |
|--------------------|--------------------------------------------------------------------------------------------------------------|
| `expired`          | habilita compressão se um cabeçalho de resposta incluir o campo `Expires` com um valor que desabilita cache; |
| `no-cache`         | habilita compressão se um cabeçalho de resposta incluir o campo `Cache-Control` com o parâmetro "no-cache";  |
| `no-store`         | habilita compressão se um cabeçalho de resposta incluir o campo `Cache-Control` com o parâmetro "no-store";  |
| `private`          | habilita compressão se um cabeçalho de resposta incluir o campo `Cache-Control` com o parâmetro "private";   |
| `no_last_modified` | habilita compressão se um cabeçalho de resposta não incluir o campo `Last-Modified`;                         |
| `no_etag`          | habilita compressão se um cabeçalho de resposta não incluir o campo `ETag`;                                  |
| `auth`             | habilita compressão se um cabeçalho de requisição incluir o campo `Authorization`;                           |
| `any`              | habilita compressão para todas as requisições com proxy.                                                     |

<a id="index-7"></a>

<a id="gzip-types"></a>

### gzip_types

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_types` mime-type ...;   |
|-------------------------------------------------------------------------------------------|-------------------------------|
| Padrão                                                                                    | `gzip_types text/html;`       |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location        |

Habilita compressão gzip das respostas para os tipos MIME especificados além de `text/html`. O valor especial "\*" corresponde a qualquer tipo MIME. Respostas com o tipo `text/html` são sempre comprimidas.

<a id="index-8"></a>

<a id="gzip-vary"></a>

### gzip_vary

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_vary` `on` | `off`;   |
|-------------------------------------------------------------------------------------------|-----------------------------|
| Padrão                                                                                    | `gzip_vary off;`            |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location      |

Habilita ou desabilita a inserção do campo de cabeçalho de resposta "Vary: Accept-Encoding" se as diretivas [gzip](#id1), [gzip_static](https://pt.angie.software//angie/docs/configuration/modules/http/http_gzip_static.md#id1) ou [gunzip](https://pt.angie.software//angie/docs/configuration/modules/http/http_gunzip.md#id1) estiverem ativas.

<a id="built-in-variables-1"></a>

## Variáveis Integradas

<a id="v-gzip-ratio"></a>

### `$gzip_ratio`

taxa de compressão alcançada, calculada como a razão entre os tamanhos original e comprimido da resposta.
