Como habilitar a compressão gzip para Edge Application

Gzip é o método padrão de compressão lossless de arquivos para aplicações web. Por usar o algoritmo Deflate para reduzir o tamanho de arquivos antes de serem enviados a navegadores, a compressão gzip proporciona renderização de página e downloads mais rápidos para seus usuários.

Para mais informações e links úteis, consulte o site oficial de gzip.

Ao habilitar a compressão gzip para Azion Edge Application, os seguintes eventos acontecem durante uma requisição por conteúdo de sua aplicação:

  1. No edge node, a Azion verifica o cache por uma versão comprimida do arquivo.
  2. Se o arquivo já estiver comprimido, ele é entregue ao navegador. Se não, a Azion comprime o arquivo, devolve ao navegador, e o adiciona ao cache.
  3. O navegador do usuário interpreta e descompressa o arquivo.

Usando Rules Engine para habilitar compressão gzip

Seção intitulada Usando Rules Engine para habilitar compressão gzip

Você pode habilitar a compressão gzip para qualquer edge application usando o Rules Engine para Edge Application.

Para habilitar a compressão gzip para sua aplicação, siga os passos:

  1. Acesse o Real-Time Manager (RTM).

  2. Selecione Products menu > Edge Application.

  3. Clique na aplicação que você deseja configurar.

  4. Na aba Rules Engine, clique no botão Add Rule e selecione Response Phase ou Request Phase.

  5. Na seção Criteria, defina o critério para ativação do comportamento.

    Para aplicar compressão gzip para sua aplicação como um todo, você pode definir um critério padrão da seguinte maneira:

    If ${uri} starts with /

  6. Na seção Behavior, selecione o comportamento Enable gzip.

  7. Clique no botão Save.

Para verificar se a compressão gzip foi aplicada, acesse sua aplicação e inspecione a página. O cabeçalho de requisição Content-Encoding deverá conter o valor gzip.


Os servidores Azion dão suporte à compressão gzip para extensões de arquivos específicos, identificadas através do tipo MIME (Multipurpose Internet Mail Extensions).

Quando uma página carrega em um navegador, um servidor envia informação sobre o conteúdo e dados da página para o navegador. Esses detalhes são guardados em cabeçalhos de requisição e enviados ao navegador para que ele possa carregar e interpretar a página.

O cabeçalho Content-Type é responsável por guardar informações sobre o tipo do conteúdo da página sob o tipo MIME. Os tipos MIME informam os tipos de documentos, arquivos ou sequências de bytes dentro da aplicação web, bem como a forma que elas devem ser processadas.

O tipo MIME é composto de um tipo e subtipo combinados por um símbolo de / entre eles. O tipo representa a categoria do arquivo. Por exemplo: textos são tipo text; imagens são tipo image. Já o subtipo significa o tipo exato do dado representado pelo tipo MIME. Por exemplo: o tipo MIME image pode carregar os subtipos jpeg ou png.

Portanto, quando seu navegador encontra um elemento HTML <img>, ele envia uma requisição ao servidor, e se a imagem do elemento for .png, o servidor retorna o cabeçalho e o MIME type: Content-Type: image/png.

A Internet Assigned Numbers Authority (IANA) é a entidade responsável pelos tipos MIME oficiais.

Arquivos que passaram por compressão gzip devem manter seus tipos MIME originais no cabeçalho da requisição, pois o navegador é responsável por descomprimir o arquivo quando a requisição é finalizada.

Lista de tipos MIME suportados para compressão gzip

Seção intitulada Lista de tipos MIME suportados para compressão gzip
Tipo MIMEExtensãoTipo de documento
application/eot.eotMS Embedded OpenType fonts
application/fontOpenType font
application/font-sfnt.ttf
.otf
SFNT format
application/font-woff.woffWeb Open Font Format (WOFF)
application/font-woff2.woff2Web Open Font Format 2 (WOFF2)
application/javascript.jsJavaScript
application/json.jsonJSON format
application/ld+json.jsonldJSON-LD format
application/opentype.otf
.otc
.ttf
.ttc
OpenType
application/otf.otfOpenType
application/truetype.ttf
.tte
TrueType
application/ttf.ttfTrueType
application/vnd.ms-fontobject.eotMS Embedded OpenType fonts
application/x-font-opentype.otfOpenType
application/x-font-truetype.ttfTrueType
application/x-font-ttf.ttc
.ttf
TrueType
application/x-httpd-cgi.pl
.sh
.cgi
CGI scripts/programs
application/x-javascript.jsJavaScript
application/x-mpegurl.M3U8iPhone Index
application/x-opentype.ttcOpenType font
application/x-otf.otfOpenType font
application/x-perl.plx
.pl
.pm
.xs
.t
.pod
Perl script
application/x-ttf.ttfTrueType
application/xhtml+xml.xhtmlXHTML
application/xml+rss.rss
.xml
RSS, Atom and XML
font/eot.eotEmbedded Open Type
font/opentypeotf
.otc
.ttf
.ttc
OpenType font
font/otf.otfOpenType font
font/ttf.ttfTrueType font
image/svg+xml.svgScalable Vector Graphics (SVG)
image/x-icon.icoICO
text/css.cssCascading Style Sheets (CSS)
text/csv.csvComma-separated values (CSV)
text/html.htm
.html
HyperText Markup Language (HTML)
text/javascript.jsJavaScript
text/js.jsJavaScript
text/plain.txtText (generally ASCII or ISO 8859-n)
text/richtext.rtfRich Text Format
text/tab-separated-values.tsv
.tab
Tab-separated values
text/x-component.htcHTML Components
text/x-java-source.javJava Source
text/x-markdown.mdMarkdown
text/x-script.hlbHP OpenVMS
text/xml
application/xml
.xmlXML