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:
|
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
- Na barra de tarefas, clique em Gerenciador do Servidor.
- No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
- 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.
- 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.
. - Na página Selecionar recursos, clique em Avançar.
- Na página Confirmar seleções de instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows 8 ou Windows 8.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.
- Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
- 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.
- Clique em OK.
- Clique em Fechar.
Windows Server 2008 R2 ou Windows Server 2008
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
- No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
- No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
- 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.
- Na página Confirmar Seleções de Instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows Vista ou Windows 7
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
- Expanda Serviços de Informações da Internet e, em seguida, Serviços World Wide Web e, em seguida, Recursos de Desempenho.
- 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.
- Clique em OK.
Instruções
Como habilitar ou desabilitar a compactação estática e dinâmica para um site ou aplicativo
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).
No painel Conexões, vá para a conexão, site, aplicativo ou diretório para o qual você deseja habilitar a compactação.
No painel Página Inicial, clique duas vezes em Compactação.
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.
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
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).
No painel Conexões, realce o nome do servidor.
No painel Página Inicial do servidor, clique duas vezes em Compactação.
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.
Depois de concluir as etapas acima, clique em Aplicar no painel Ações.
Como configurar staticCompressionIgnoreHitFrequency
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).
No painel Conexões, selecione o servidor e clique duas vezes em Editor de Configuração.
No Editor de Configuração, para a seção, selecione system.webServer e, em seguida, selecione httpCompression.
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 insiraFalse
para habilitar o comportamento.
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()