Compartilhar via


Compactação de URL <urlCompression>

Visão geral

O elemento <urlCompression> especifica as seguintes configurações para compactação de conteúdo estático e dinâmico no IIS 7 e posterior:

  • O atributo doDynamicCompression do elemento <urlCompression> habilita ou desabilita a compactação de conteúdo dinâmico no nível do site, aplicativo ou pasta.
  • O atributo doStaticCompression do elemento <urlCompression> habilita ou desabilita a compactação de conteúdo estático no nível do site, aplicativo ou pasta.
  • O atributo dynamicCompressionBeforeCache especifica se o IIS compactará dinamicamente o conteúdo que não foi armazenado em cache. Quando o atributo dynamicCompressionBeforeCache é true, o IIS compacta dinamicamente a resposta na primeira vez que uma solicitação é feita e enfileira o conteúdo para compactação. As solicitações subsequentes são atendidas dinamicamente até que a resposta compactada tenha sido adicionada ao diretório de cache. Depois que a resposta compactada é adicionada ao diretório de cache, a resposta armazenada em cache é enviada aos clientes para solicitações subsequentes. Quando dynamicCompressionBeforeCache é false, o IIS retorna a resposta descompactada até que a resposta compactada tenha sido adicionada ao diretório de cache.

Observação

Se o atributo dynamicCompressionBeforeCache for true quando a resposta do cache de saída tiver sido liberada, a compactação dinâmica não será executada antes que a resposta seja colocada no cache de saída. No entanto, se o atributo doDynamicCompression for true, a compactação dinâmica ainda ocorrerá depois que o cache de saída tiver sido preenchido com a resposta.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <urlCompression> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <urlCompression> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <urlCompression> não foi modificado no IIS 8.0.
IIS 7.5 No IIS 7.5, o valor padrão do atributo doDynamicCompression foi alterado de false para true.
IIS 7.0 O elemento <urlCompression> foi introduzido no IIS 7.0.
IIS 6,0 O elemento <urlCompression> substitui as seguintes propriedades de metabase dos IIS 6.0:
  • DoStaticCompression
  • DoDynamicCompression
  • HcDoOnDemandCompression

Instalação

A compactação HTTP geralmente está disponível na instalação padrão do IIS 7 e posterior. No entanto, somente a compactação estática é instalada por padrão. Para instalar a compactação estática ou dinâmica, use as etapas a seguir.

Windows Server 2012 R2 ou Windows Server 2012

  1. Na barra de tarefas, clique em Gerenciador do Servidor.
  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
  3. No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
  4. Na página Funções de Servidor, expanda Servidor Web (IIS), expanda Servidor Web, expanda Desempenho e selecione Compactação de Conteúdo Estático e/ou Compactação de Conteúdo Dinâmico. Clique em Avançar.
    Captura de tela da página Funções de Servidor com Compactação de Conteúdo Estático e Compactação de Conteúdo Dinâmico selecionadas. .
  5. Na página Selecionar recursos, clique em Avançar.
  6. Na página Confirmar seleções de instalação, clique em Instalar.
  7. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  1. Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
  3. Expanda Serviços de Informações da Internet, expanda Serviços da World Wide Web, expanda Recursos de Desempenho e selecione Compactação de Conteúdo Dinâmico e/ou Compactação de Conteúdo Estático.
    Captura de tela da caixa de diálogo Recursos do Windows com Compactação de Conteúdo Dinâmico e Compactação de Conteúdo Estático selecionadas.
  4. Clique em OK.
  5. Clique em Fechar.

Windows Server 2008 R2 ou Windows Server 2008

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
  2. No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
  3. No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
  4. Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, selecione Compactação de Conteúdo Dinâmico se quiser instalar a compactação dinâmica e Compactação de Conteúdo Estático se quiser instalar a compactação estática e clique em Avançar.
    Captura de tela do Assistente para Adicionar Serviços de Função com Compactação de Conteúdo Estático e Compactação de Conteúdo Dinâmico selecionadas.
  5. Na página Confirmar Seleções de Instalação, clique em Instalar.
  6. Na página Resultados , clique em Fechar.

Windows Vista ou Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
  3. Expanda Serviços de Informações da Internet e, em seguida, Serviços World Wide Web e, em seguida, Recursos de Desempenho.
  4. Selecione Compactação Dinâmica Http, se desejar instalar a compactação dinâmica, e Compactação de Conteúdo Estático, se desejar instalar a compactação estática.
    Captura de tela da caixa de diálogo Recursos do Windows com Compactação Http Dinâmica selecionada.
  5. Clique em OK.

Instruções

Como habilitar ou desabilitar a compactação estática e dinâmica para um site ou aplicativo

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador do IIS (Serviços de Informações da Internet).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador do IIS (Serviços de Informações da Internet).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do IIS (Serviços de Informações da Internet).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, selecione Iniciar e selecione Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, vá para a conexão, site, aplicativo ou diretório para o qual você deseja habilitar a compactação.

  3. No painel Página Inicial, clique duas vezes em Compactação.
    Captura de tela do Gerenciador de Serviços de Informações da Internet com Compactação selecionada no painel Início.

  4. No painel Compactação, marque as caixas para habilitar a compactação estática ou dinâmica ou remova as marcas de seleção para desabilitar a compactação estática ou dinâmica.
    Captura de tela do painel Compactação com compactação de conteúdo dinâmico e compactação de conteúdo estático habilitadas.

  5. Depois de concluir as etapas acima, clique em Aplicar no painel Ações.

Como habilitar ou desabilitar a compactação estática e dinâmica para um servidor

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador do IIS (Serviços de Informações da Internet).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador do IIS (Serviços de Informações da Internet).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do IIS (Serviços de Informações da Internet).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, selecione Iniciar e selecione Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, realce o nome do servidor.

  3. No painel Página Inicial do servidor, clique duas vezes em Compactação.
    Captura de tela do Gerenciador de Serviços de Informações da Internet com Compactação selecionada no painel Início do servidor.

  4. No painel Compactação, marque as caixas para habilitar a compactação estática ou dinâmica ou remova as marcas de seleção para desabilitar a compactação estática ou dinâmica.
    Captura de tela do painel Compactação do servidor com compactação de conteúdo dinâmico e compactação de conteúdo estático habilitada.

  5. Depois de concluir as etapas acima, clique em Aplicar no painel Ações.

Como configurar staticCompressionIgnoreHitFrequency

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Se você estiver usando o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, selecione o servidor e clique duas vezes em Editor de Configuração.

  3. No Editor de Configuração, para a seção, selecione system.webServer e, em seguida, selecione httpCompression.

  4. Para staticCompressionIgnoreHitFrequency, insira True para desabilitar o comportamento de que um arquivo estático é compactado somente se ele for acessado um determinado número de vezes em um período de tempo ou insira False para habilitar o comportamento.
    Captura de tela do painel Editor de Configuração com a Frequência de Acertos de Ignorar Compactação estática definida como True.

  5. No painel Ações, clique em Aplicar.

Configuração

Atributos

Atributo Descrição
doDynamicCompression Atributo booliano opcional.

Especifica se a compactação dinâmica está habilitada para URLs.

Observação: no IIS 7.0, o uso da compactação dinâmica foi desabilitado por padrão devido ao aumento da utilização do processador que pode ter reduzido o desempenho geral do servidor Web. No IIS 7.5, foram feitas alterações na compactação dinâmica que resultaram em melhor desempenho, portanto, a compactação dinâmica é habilitada por padrão no IIS 7.5 e posterior.

O valor padrão é true.
doStaticCompression Atributo booliano opcional.

Especifica se a compactação estática está habilitada para URLs.

O valor padrão é true.
dynamicCompressionBeforeCache Atributo booliano opcional.

Especifica se a resposta atualmente disponível é compactada dinamicamente antes de ser colocada no cache de saída.

O valor padrão é false.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo de configuração a seguir habilita a compactação estática e desabilita a compactação dinâmica para o Site Padrão.

<configuration>
   <system.webServer>
      <urlCompression doStaticCompression="true" doDynamicCompression="false" />
   </system.webServer>
</configuration>

Exemplo de código

Os códigos de exemplo a seguir habilitam a compactação estática e desabilitam a compactação dinâmica para o Site Padrão.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/urlCompression /doDynamicCompression:"False" 

appcmd.exe set config "Default Web Site" -section:system.webServer/urlCompression /doStaticCompression:"True"

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetWebConfiguration("Default Web Site");

         ConfigurationSection urlCompressionSection = config.GetSection("system.webServer/urlCompression");
         urlCompressionSection["doStaticCompression"] = true;
         urlCompressionSection["doDynamicCompression"] = false;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")

      Dim urlCompressionSection As ConfigurationSection = config.GetSection("system.webServer/urlCompression")
      urlCompressionSection("doStaticCompression") = True
      urlCompressionSection("doDynamicCompression") = False

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";

var urlCompressionSection = adminManager.GetAdminSection("system.webServer/urlCompression", "MACHINE/WEBROOT/APPHOST/Default Web Site");
urlCompressionSection.Properties.Item("doStaticCompression").Value = true;
urlCompressionSection.Properties.Item("doDynamicCompression").Value = false;

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"

Set urlCompressionSection = adminManager.GetAdminSection("system.webServer/urlCompression", "MACHINE/WEBROOT/APPHOST/Default Web Site")
urlCompressionSection.Properties.Item("doStaticCompression").Value = True
urlCompressionSection.Properties.Item("doDynamicCompression").Value = False

adminManager.CommitChanges()