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 dos IIS 7 e posteriores. No entanto, apenas 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.
    Screenshot of the Server Roles page with Static Content Compression and Dynamic Content Compression selected. .
  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.
    Screenshot of the Windows Features dialog with Dynamic Content Compression and Static Content Compression selected.
  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 de Adição de Serviços de Função, selecione Compactação deConteúdo Dinâmico, se desejar instalar a compactação dinâmica, e Compactação de Conteúdo Estático, se desejar instalar a compactação estática e clique em Avançar.
    Screenshot of the Add Role Services Wizard with Static Content Compression and Dynamic Content Compression selected.
  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.
    Screenshot of the Windows Features dialog with Http Compression Dynamic selected.
  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 dos Serviços de Informações da Internet (IIS).
    • 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 dos Serviços de Informações da Internet (IIS).
    • 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 dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em 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.
    Screenshot of the Internet Information Services Manager with Compression selected in the Home pane.

  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.
    Screenshot of the Compression pane with dynamic content compression and static content compression enabled.

  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 dos Serviços de Informações da Internet (IIS).
    • 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 dos Serviços de Informações da Internet (IIS).
    • 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 dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em 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.
    Screenshot of the Internet Information Services Manager with Compression selected in the server's Home pane.

  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.
    Screenshot of the server's Compression pane with dynamic content compression and static content compression enabled.

  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.
    Screenshot of the Configuration Editor pane with static Compression Ignore Hit Frequency set to 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()