---
name: azion-comprima-as-respostas-de-uma-aplicacao-com-gzip
description: >-
  Crie uma regra do Rules Engine que comprime as respostas de uma aplicação com gzip e consulte os tipos MIME que a Azion comprime.
---

# Comprima as respostas de uma aplicação com gzip

Você pode comprimir as respostas de uma [aplicação](/pt-br/documentacao/plataforma/applications/) com gzip pelo Azion Console, com uma regra em [Rules Engine para Applications](/pt-br/documentacao/plataforma/applications/rules-engine/).

Gzip é o método padrão de compressão de arquivos sem perdas para aplicações web. Ele usa o algoritmo Deflate para reduzir o tamanho de um arquivo antes que o arquivo chegue ao navegador. Assim, as páginas são renderizadas e baixadas mais rápido. Para mais informações sobre o formato, consulte o [site do gzip](https://www.gzip.org/).

Quando uma regra com o behavior de gzip corresponde a uma requisição, a Azion procura no cache dela uma versão comprimida do arquivo. Se o cache tiver uma, a Azion a entrega ao navegador. Caso contrário, a Azion comprime o arquivo, entrega o arquivo e adiciona a versão comprimida ao cache. Em seguida, o navegador descomprime o arquivo.

Applications também oferece a compressão Brotli, que normalmente alcança taxas de compressão melhores que as do gzip e entrega arquivos menores. Para ativar o Brotli em uma aplicação, entre em contato com o Suporte da Azion. Para mais informações, consulte [Suporte](/pt-br/documentacao/suporte/).

---

## Pré-requisitos

- Uma aplicação que um [workload](/pt-br/documentacao/plataforma/workloads/) entrega, com uma regra que envia as requisições dela para uma origem. Para criar as duas, consulte [Primeiros passos com Applications](/pt-br/documentacao/plataforma/applications/primeiros-passos/).
- Acesso ao Azion Console. Para entrar, consulte [Como acessar o Azion Console](/pt-br/documentacao/guias/plataforma/conta-e-billing/como-acessar-o-azion-console/).

---

## Ative a compressão gzip

A regra desta seção comprime o conteúdo com gzip quando o navegador do usuário oferece suporte a ele. O behavior dela não exige nenhum Produto habilitado na aplicação e roda em qualquer uma das duas fases. A regra corresponde a todas as requisições da aplicação, porque todo caminho começa com `/`.

Para criar a regra no Azion Console:

1. **Abra a aplicação**

   Acesse [Azion Console](https://console.azion.com/) > **Applications** > **sua aplicação**.

2. **Selecione a aba Rules Engine**

3. **Selecione + Rule**

4. **Nomeie a regra**

   Na seção **General**, insira um **Name** para a regra, como `gzip-compression`.

5. **(Opcional) Descreva a regra**

   Em **Description**, insira uma nota curta sobre o que a regra faz.

6. **Selecione a fase**

   Na seção **Phase**, selecione **Request Phase** ou **Response Phase**. A fase de uma regra não pode mudar depois que você cria a regra.

7. **Defina o critério**

   Na seção **Criteria**, selecione `${uri}` como a variável e `starts_with` como o operador.

8. **Insira o caminho**

   Insira `/` como o argumento. Para comprimir apenas parte da aplicação, defina outros critérios no lugar deste.

9. **Adicione o behavior de gzip**

   Na seção **Behaviors**, selecione o behavior que ativa a compressão gzip. A API chama esse behavior de `enable_gzip`.

10. **Selecione Save**

A regra aparece na aba **Rules Engine**, sob a fase que você selecionou. Quando o navegador oferece suporte ao gzip, as respostas às requisições correspondidas pela regra chegam comprimidas. Para as variáveis e os operadores que outros critérios podem usar, consulte [Critérios](/pt-br/documentacao/plataforma/applications/rules-engine/#criterios). Para o behavior, consulte [Enable Gzip](/pt-br/documentacao/plataforma/applications/rules-engine/#enable-gzip).

---

## Confirme que as respostas estão comprimidas

Uma resposta que a Azion comprimiu com gzip carrega o header `Content-Encoding` com o valor `gzip`. A Azion comprime os arquivos cujo tipo MIME é um dos tipos MIME suportados que esta página lista.

Para confirmar a compressão em um navegador:

1. Acesse uma página da sua aplicação.
2. Inspecione a página com as ferramentas de desenvolvedor do seu navegador.
3. Selecione a requisição de um arquivo de um tipo MIME suportado, como um arquivo CSS ou JavaScript.

Os headers de resposta dessa requisição carregam `Content-Encoding: gzip`.

---

## Tipos MIME suportados

A Azion aplica a compressão gzip aos tipos de arquivo que esta tabela lista. A Azion identifica cada arquivo pelo tipo Multipurpose Internet Mail Extensions (MIME) dele. Um servidor web envia o tipo MIME de um arquivo ao navegador no header `Content-Type`. O navegador lê esse tipo para saber o que é o documento, o arquivo ou a sequência de bytes, e como processá-lo.

Um tipo MIME é um tipo e um subtipo unidos por uma barra. O tipo nomeia a categoria dos dados, como `text` ou `image`. O subtipo nomeia o formato exato, como `jpeg` ou `png`. Por exemplo, quando seu navegador encontra uma tag HTML `<img>` de uma imagem PNG, ele requisita a imagem. O servidor responde com `Content-Type: image/png`.

Um arquivo comprimido mantém o tipo MIME do arquivo original no header `Content-Type` dele, porque o navegador descomprime o arquivo quando a requisição termina. A [Internet Assigned Numbers Authority (IANA)](https://www.iana.org/assignments/media-types/media-types.xhtml) é responsável por todos os tipos MIME oficiais.

| Tipo MIME                       | Extensão                                  | Tipo de documento                      |
| ------------------------------- | ----------------------------------------- | -------------------------------------- |
| `application/eot`               | `.eot`                                    | Fontes MS Embedded OpenType            |
| `application/font`              | Não listada                               | Fonte OpenType                         |
| `application/font-sfnt`         | `.ttf`, `.otf`                            | Formato SFNT                           |
| `application/font-woff`         | `.woff`                                   | Web Open Font Format (WOFF)            |
| `application/font-woff2`        | `.woff2`                                  | Web Open Font Format 2 (WOFF2)         |
| `application/javascript`        | `.js`                                     | JavaScript                             |
| `application/json`              | `.json`                                   | Formato JSON                           |
| `application/ld+json`           | `.jsonld`                                 | Formato JSON-LD                        |
| `application/opentype`          | `.otf`, `.otc`, `.ttf`, `.ttc`            | OpenType                               |
| `application/otf`               | `.otf`                                    | OpenType                               |
| `application/truetype`          | `.ttf`, `.tte`                            | TrueType                               |
| `application/ttf`               | `.ttf`                                    | TrueType                               |
| `application/vnd.ms-fontobject` | `.eot`                                    | Fontes MS Embedded OpenType            |
| `application/x-font-opentype`   | `.otf`                                    | OpenType                               |
| `application/x-font-truetype`   | `.ttf`                                    | TrueType                               |
| `application/x-font-ttf`        | `.ttc`, `.ttf`                            | TrueType                               |
| `application/x-httpd-cgi`       | `.pl`, `.sh`, `.cgi`                      | Scripts/programas CGI                  |
| `application/x-javascript`      | `.js`                                     | JavaScript                             |
| `application/x-mpegurl`         | `.M3U8`                                   | iPhone Index                           |
| `application/x-opentype`        | `.ttc`                                    | Fonte OpenType                         |
| `application/x-otf`             | `.otf`                                    | Fonte OpenType                         |
| `application/x-perl`            | `.plx`, `.pl`, `.pm`, `.xs`, `.t`, `.pod` | Script Perl                            |
| `application/x-ttf`             | `.ttf`                                    | TrueType                               |
| `application/xhtml+xml`         | `.xhtml`                                  | XHTML                                  |
| `application/xml+rss`           | `.rss`, `.xml`                            | RSS, Atom e XML                        |
| `font/eot`                      | `.eot`                                    | Embedded Open Type                     |
| `font/opentype`                 | `.otf`, `.otc`, `.ttf`, `.ttc`            | Fonte OpenType                         |
| `font/otf`                      | `.otf`                                    | Fonte OpenType                         |
| `font/ttf`                      | `.ttf`                                    | Fonte TrueType                         |
| `image/svg+xml`                 | `.svg`                                    | Scalable Vector Graphics (SVG)         |
| `image/x-icon`                  | `.ico`                                    | ICO                                    |
| `text/css`                      | `.css`                                    | Cascading Style Sheets (CSS)           |
| `text/csv`                      | `.csv`                                    | Valores separados por vírgula (CSV)    |
| `text/html`                     | `.htm`, `.html`                           | HyperText Markup Language (HTML)       |
| `text/javascript`               | `.js`                                     | JavaScript                             |
| `text/js`                       | `.js`                                     | JavaScript                             |
| `text/plain`                    | `.txt`                                    | Texto (geralmente ASCII ou ISO 8859-n) |
| `text/richtext`                 | `.rtf`                                    | Rich Text Format                       |
| `text/tab-separated-values`     | `.tsv`, `.tab`                            | Valores separados por tabulação        |
| `text/x-component`              | `.htc`                                    | HTML Components                        |
| `text/x-java-source`            | `.jav`                                    | Código-fonte Java                      |
| `text/x-markdown`               | `.md`                                     | Markdown                               |
| `text/x-script`                 | `.hlb`                                    | HP OpenVMS                             |
| `text/xml`, `application/xml`   | `.xml`                                    | XML                                    |

---

## Próximos passos

- [Rules Engine para Applications](/pt-br/documentacao/plataforma/applications/rules-engine.md#enable-gzip): O behavior de gzip, as fases em que ele roda e todos os outros behaviors que uma regra pode carregar.
- [Configure políticas de cache para uma aplicação](/pt-br/documentacao/guias/performance-e-confiabilidade/cache-e-purge/cache-settings.md): Aplique um cache setting que define por quanto tempo a Azion mantém os arquivos que entrega.
- [Verifique o status de cache de uma resposta](/pt-br/documentacao/guias/performance-e-confiabilidade/cache-e-purge/verificar-tempo-de-cache-da-pagina.md): Descubra se uma resposta veio do cache da Azion.
- [Depure regras criadas com Rules Engine](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/primeiros-passos/debug-regras.md): Descubra se uma regra rodou em uma requisição, pela GraphQL API, pelo Data Stream ou pelo Real-Time Events.
