Comprima as respostas de uma aplicação com gzip
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.
Você pode comprimir as respostas de uma aplicação com gzip pelo Azion Console, com uma regra em Rules Engine para Applications.
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.
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.
Pré-requisitos
- Uma aplicação que um workload entrega, com uma regra que envia as requisições dela para uma origem. Para criar as duas, consulte Primeiros passos com Applications.
- Acesso ao Azion Console. Para entrar, consulte 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:
Acesse Azion Console > Applications > sua aplicação.
Na seção General, insira um Name para a regra, como gzip-compression.
Em Description, insira uma nota curta sobre o que a regra faz.
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.
Na seção Criteria, selecione ${uri} como a variável e starts_with como o operador.
Insira / como o argumento. Para comprimir apenas parte da aplicação, defina outros critérios no lugar deste.
Na seção Behaviors, selecione o behavior que ativa a compressão gzip. A API chama esse behavior de enable_gzip.
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. Para o behavior, consulte 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:
- Acesse uma página da sua aplicação.
- Inspecione a página com as ferramentas de desenvolvedor do seu navegador.
- 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) é 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 |