<!-- review: finished -->

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

# GZip

Фильтр, сжимающий ответ методом gzip, что позволяет уменьшить размер передаваемых данных в 2 и более раз.

#### WARNING
При использовании протокола SSL/TLS сжатые ответы могут быть подвержены атакам [BREACH](https://en.wikipedia.org/wiki/BREACH).

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

## Пример конфигурации

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

Для записи в лог достигнутого коэффициента сжатия можно использовать переменную [$gzip_ratio](#v-gzip-ratio).

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

## Директивы

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

<a id="id3"></a>

### gzip

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip` `on` | `off`;                  |
|------------------------------------------------------------------------------------------|---------------------------------------|
| По умолчанию                                                                             | `gzip off;`                           |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location, if в location |

Разрешает или запрещает сжатие ответа методом gzip.

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

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

### gzip_buffers

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_buffers` число размер;   |
|------------------------------------------------------------------------------------------|--------------------------------|
| По умолчанию                                                                             | `gzip_buffers 32 4k | 16 8k;`  |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location         |

Задает число и размер буферов, в которые будет сжиматься ответ. По умолчанию размер одного буфера равен размеру страницы. В зависимости от платформы это или 4K, или 8K.

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

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

### gzip_comp_level

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_comp_level` степень;   |
|------------------------------------------------------------------------------------------|------------------------------|
| По умолчанию                                                                             | `gzip_comp_level 1;`         |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location       |

Устанавливает степень сжатия ответа методом gzip. Допустимые значения находятся в диапазоне от 1 до 9.

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

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

### gzip_disable

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_disable` regex ...;   |
|------------------------------------------------------------------------------------------|-----------------------------|
| По умолчанию                                                                             | —                           |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location      |

Запрещает сжатие ответа методом gzip для запросов с полями заголовка `User-Agent`, совпадающими с заданными регулярными выражениями.

Специальная маска `msie6` соответствует регулярному выражению "MSIE [4-6].", но работает быстрее. Из этой маски исключается "MSIE 6.0; ... SV1".

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

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

### gzip_http_version

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_http_version` `1.0` | `1.1`;   |
|------------------------------------------------------------------------------------------|--------------------------------------|
| По умолчанию                                                                             | `gzip_http_version 1.1;`             |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location               |

Устанавливает минимальную HTTP-версию запроса, необходимую для сжатия ответа.

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

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

### gzip_min_length

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_min_length` длина;   |
|------------------------------------------------------------------------------------------|----------------------------|
| По умолчанию                                                                             | `gzip_min_length 20;`      |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location     |

Устанавливает минимальную длину ответа, который будет сжиматься методом gzip. Длина определяется только из поля `Content-Length`  заголовка ответа.

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

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

### gzip_proxied

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_proxied` `off` | `expired` | `no-cache` | `no-store` | `private` | `no_last_modified` | `no_etag` | `auth` | `any` ...;   |
|------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|
| По умолчанию                                                                             | `gzip_proxied off;`                                                                                                             |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location                                                                                                          |

Разрешает или запрещает сжатие ответа методом gzip для проксированных запросов в зависимости от запроса и ответа. То, что запрос проксированный, определяется на основании наличия поля `Via` в заголовке запроса. В директиве можно указать одновременно несколько параметров:

| `off`              | запрещает сжатие для всех проксированных запросов, игнорируя остальные параметры;                    |
|--------------------|------------------------------------------------------------------------------------------------------|
| `expired`          | разрешает сжатие, если в заголовке ответа есть поле `Expires` со значением, запрещающим кэширование; |
| `no-cache`         | разрешает сжатие, если в заголовке ответа есть поле `Cache-Control` с параметром "no-cache";         |
| `no-store`         | разрешает сжатие, если в заголовке ответа есть поле `Cache-Control` с параметром "no-store";         |
| `private`          | разрешает сжатие, если в заголовке ответа есть поле `Cache-Control` с параметром "private";          |
| `no_last_modified` | разрешает сжатие, если в заголовке ответа нет поля `Last-Modified`;                                  |
| `no_etag`          | разрешает сжатие, если в заголовке ответа нет поля `ETag`;                                           |
| `auth`             | разрешает сжатие, если в заголовке запроса есть поле `Authorization`;                                |
| `any`              | разрешает сжатие для всех проксированных запросов.                                                   |

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

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

### gzip_types

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_types` mime-тип ...;   |
|------------------------------------------------------------------------------------------|------------------------------|
| По умолчанию                                                                             | `gzip_types text/html;`      |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location       |

Разрешает сжатие ответа методом gzip для указанных MIME-типов в дополнение к `text/html`. Специальное значение "\*" соответствует любому MIME-типу. Ответы с типом `text/html` сжимаются всегда.

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

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

### gzip_vary

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `gzip_vary` `on` | `off`;   |
|------------------------------------------------------------------------------------------|-----------------------------|
| По умолчанию                                                                             | `gzip_vary off;`            |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location      |

Разрешает или запрещает выдавать в ответе поле заголовка "Vary: Accept-Encoding", если активны директивы [gzip](#id3), [gzip_static](https://angie.software//angie/docs/configuration/modules/http/http_gzip_static.md#id3) или [gunzip](https://angie.software//angie/docs/configuration/modules/http/http_gunzip.md#id3).

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

## Встроенные переменные

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

### `$gzip_ratio`

достигнутый коэффициент сжатия — отношение размера исходного ответа к размеру сжатого.
