HTTP Compression <httpCompression>
Visão geral
O <httpCompression>
elemento especifica as configurações de compactação HTTP dos Serviços de Informações da Internet (IIS) 7. A compactação HTTP pode fornecer tempos de transmissão mais rápidos entre o IIS e navegadores cliente que podem aceitar arquivos compactados.
Observação
Um cliente HTTP deve iniciar a comunicação para conteúdo compactado enviando o cabeçalho de codificação http aceito apropriado. Se um cliente não for capaz de compactar HTTP, ele não passará esse cabeçalho e o IIS 7 sempre retornará conteúdo descompactado.
Há dois tipos diferentes de compactação que o IIS 7 usa:
Compactação estática:
O IIS 7 armazena em cache o conteúdo estático compactado no caminho especificado pelo atributo de diretório , o que aumenta o desempenho da compactação eliminando a necessidade de recompactar o conteúdo que já foi compactado. Depois que o IIS 7 compactar um arquivo, as solicitações subsequentes receberão a cópia compactada do arquivo do diretório de cache.
Os atributos staticCompressionEnableCpuUsage e staticCompressionDisableCpuUsage especificam quando o IIS 7 compacta arquivos estáticos com base no uso da CPU.
Você deve usar compactação estática com arquivos que normalmente não são alterados, como arquivos HTML (*.html, *.htm), arquivos de texto (*.txt), documentos do Microsoft Office (*.doc, *.xls, *.ppt), etc. O tamanho desses arquivos pode ser reduzido por meio da compactação, o que reduz os tempos de download para solicitações de cliente e reduz a largura de banda no servidor.
Observação
Arquivos de imagem como *.jpg e *arquivos de .png também são arquivos estáticos, mas normalmente eles não se beneficiam da compactação HTTP porque esses arquivos de imagem já estão compactados.
Compactação dinâmica:
Ao contrário da compactação estática, o IIS 7 executa compactação dinâmica sempre que um cliente solicita o conteúdo, mas a versão compactada não é armazenada em cache no disco. Essa alteração é feita devido à principal diferença entre conteúdo estático e dinâmico. O conteúdo estático não é alterado. No entanto, o conteúdo dinâmico normalmente é um conteúdo criado por um aplicativo e, portanto, é alterado com frequência, como ASP (Active Server Pages) ou conteúdo de ASP.NET. Como o conteúdo dinâmico deve mudar com frequência, o IIS 7 não o armazena em cache.
Os atributos dynamicCompressionEnableCpuUsage e dynamicCompressionDisableCpuUsage especificam quando o IIS 7 compacta arquivos dinâmicos com base no uso da CPU.
O IIS 7 dá suporte a dois esquemas de compactação padrão do setor diferentes:
- Deflate – essa forma de compactação está documentada na especificação 1951 de Solicitações de Comentário (RFC).
- GZIP (zip GNU) – essa forma de compactação está documentada na especificação 1952 solicitações de comentário (RFC).
Cada um desses dois esquemas de compactação pode ser habilitado usando o <schemes>
elemento do <httpCompression>
elemento .
Observação
Embora o <httpCompression>
elemento especifique as configurações de compactação HTTP para os Serviços de Informações da Internet (IIS) 7, o <elemento urlCompression> especifica se a compactação está habilitada para um namespace de URL.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O <httpCompression> elemento não foi modificado no IIS 10.0. |
IIS 8.5 | O staticCompressionIgnoreHitFrequency atributo foi adicionado no IIS 8.5. |
IIS 8.0 | O <httpCompression> elemento não foi modificado no IIS 8.0. |
IIS 7.5 | No IIS 7.5, o valor padrão do minFileSizeForComp atributo foi alterado e o dynamicCompressionBufferLimit atributo foi adicionado. |
IIS 7.0 | O <httpCompression> elemento foi introduzido no IIS 7.0. |
IIS 6,0 | O <httpCompression> elemento substitui as seguintes propriedades de metabase do 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, 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
- Na barra de tarefas, clique em Gerenciador do Servidor.
- Em 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, em seguida, selecione Compactação de Conteúdo Estático e/ou Compactação de Conteúdo Dinâmico. Clique em Próximo.
.
- 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, em seguida, clique em Ativar ou desativar recursos do Windows.
- Expanda Serviços de Informações da Internet, expanda World Wide Web Services, expanda Recursos de Desempenho e, em seguida, 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, aponte para Ferramentas Administrativas e clique em Gerenciador do Servidor.
- No painel hierarquia 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údoDinâmico se você quiser instalar 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, em seguida, clique em Painel de Controle.
- Em Painel de Controle, clique em Programas e Recursos e, em seguida, clique em Ativar ou desativar Recursos do Windows.
- Expanda Serviços de Informações da Internet e, em seguida, World Wide Web Services e Recursos de Desempenho.
- Selecione Http Compression Dynamic se você quiser instalar a compactação dinâmica e a Compactação de Conteúdo Estático se quiser 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):
Se você estiver 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 de 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).
Se você estiver usando o Windows Server 2008 ou o Windows Server 2008 R2:
- Na barra de tarefas, clique em Iniciar, aponte para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows Vista ou o Windows 7:
- Na barra de tarefas, clique em Iniciar e, em seguida, clique 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).
No painel Conexões , acesse a conexão, o site, o aplicativo ou o 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, marcar as caixas para habilitar a compactação estática ou dinâmica ou remover as marcas de marcar 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):
Se você estiver 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 de 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).
Se você estiver usando o Windows Server 2008 ou o Windows Server 2008 R2:
- Na barra de tarefas, clique em Iniciar, aponte para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows Vista ou o Windows 7:
- Na barra de tarefas, clique em Iniciar e, em seguida, clique 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).
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, marcar as caixas para habilitar a compactação estática ou dinâmica ou remover as marcas de marcar 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 de Serviços de Informações da Internet (IIS).
Se você estiver usando 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, httpCompression.
Para staticCompressionIgnoreHitFrequency, insira
True
para desabilitar o comportamento de que um arquivo estático é compactado somente se for atingido 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 |
---|---|
cacheControlHeader |
Atributo de cadeia de caracteres opcional. Especifica a diretiva que o IIS adiciona ao cabeçalho Cache-Control que substitui o cabeçalho HTTP Expira. Esse atributo garante que clientes e servidores proxy mais antigos não tentem armazenar arquivos compactados em cache. Para habilitar essa configuração, você deve definir o atributo sendCacheHeaders como true. O serviço WWW deve ser reiniciado antes que as alterações nessa propriedade entrem em vigor. O valor padrão é max-age=86400 . |
directory |
Atributo de cadeia de caracteres opcional. Especifica o diretório em que as versões compactadas de arquivos estáticos são armazenadas temporariamente e armazenadas em cache. Nota: No IIS 6.0, o caminho de diretório padrão para arquivos compactados temporários do IIS era %windir%\Arquivos Compactados Temporários do IIS. O valor padrão é %SystemDrive%\inetpub\temp\IIS Temporary Compressed Files . |
doDiskSpaceLimiting |
Atributo booliano opcional. Especifica se existe um limite para a quantidade de espaço em disco que todos os arquivos compactados, que são armazenados no diretório de compactação especificado pelo atributo de diretório, podem ocupar. O valor padrão é true . |
dynamicCompressionBufferLimit |
Atributo uint opcional. Especifica a quantidade máxima de dados compactados dinamicamente que o IIS armazenará em buffer antes de liberar o buffer para um cliente. Isso diminui a quantidade de memória necessária para executar a compactação dinâmica. Nota: Esse atributo foi adicionado ao IIS 7.5. O valor padrão é 65536 . |
dynamicCompressionDisableCpuUsage |
Atributo uint opcional. Especifica o percentual de utilização da CPU na qual a compactação dinâmica será desabilitada. Nota: Esse atributo atua como um limite de CPU superior no qual a compactação dinâmica é desativada. Quando a utilização da CPU ficar abaixo do valor especificado no atributo dynamicCompressionEnableCpuUsage , a compactação dinâmica será habilitada novamente. O valor padrão é 90 . |
dynamicCompressionEnableCpuUsage |
Atributo uint opcional. Especifica o percentual de utilização da CPU abaixo da qual a compactação dinâmica será habilitada. O valor deve estar entre 0 e 100. A utilização média da CPU é calculada a cada 30 segundos. Nota: Esse atributo atua como um limite de CPU inferior abaixo do qual a compactação dinâmica está ativada. Quando a utilização da CPU aumentar acima do valor especificado no atributo dynamicCompressionDisableCpuUsage , a compactação dinâmica será desabilitada. O valor padrão é 50 . |
expiresHeader |
Atributo de cadeia de caracteres opcional. Especifica o conteúdo do cabeçalho HTTP Expira que é enviado com todos os arquivos compactados solicitados, juntamente com o cabeçalho Cache-Control especificado no atributo cacheControlHeader . Essa combinação de cabeçalhos garante que clientes mais antigos e servidores proxy não tentem armazenar arquivos compactados em cache. Para habilitar essa configuração, você deve definir o atributo sendCacheHeaders como true. O serviço WWW (World Wide Web Publishing Service) deve ser reiniciado antes que as alterações nessa propriedade entrem em vigor. O valor padrão é Wed, 01 Jan 1997 12:00:00 GMT . |
maxDiskSpaceUsage |
Atributo uint opcional. Especifica o número de megabytes de espaço em disco que os arquivos compactados podem ocupar no diretório de compactação. Quando o espaço usado por arquivos compactados excede 90% do valor nesse atributo, o IIS exclui os arquivos menos usados recentemente até que um nível de uso de 90% seja atingido. Nota: No IIS 6.0, esse limite foi expresso em bytes; no IIS 7, ele é expresso em megabytes. No IIS 7, o limite é aplicado por pool de aplicativos. O valor padrão é 100 . |
minFileSizeForComp |
Atributo uint opcional. Especifica o número mínimo de quilobytes que um arquivo deve conter para usar a compactação sob demanda. O valor padrão do IIS 7.5 é 2700 ; para o IIS 7.0, o valor padrão era 256 . |
noCompressionForHttp10 |
Atributo booliano opcional. Especifica se a compactação está desabilitada para solicitações que contêm um número de versão HTTP 1.0. Nota: Alguns clientes HTTP 1.0 não lidam com o cache de objetos compactados corretamente. Você pode usar essa configuração para evitar o retorno de um arquivo compactado para um cliente que não pode descompactá-lo. O valor padrão é true . |
noCompressionForProxies |
Atributo booliano opcional. Especifica se a resposta HTTP 1.1 está desabilitada para solicitações de compactação que vêm por meio de servidores proxy. Nota: Alguns servidores proxy HTTP não lidam com o cache de objetos compactados corretamente. Você pode usar essa configuração para evitar o retorno de um arquivo compactado para um servidor proxy que não pode descompactá-lo. O valor padrão é true . |
noCompressionForRange |
Atributo booliano opcional. Especifica se a compactação está desabilitada para solicitações HTTP que incluem o cabeçalho Range. Nota: Alguns clientes não podem lidar com solicitações de intervalo corretamente. Você pode usar essa configuração para evitar o retorno de um arquivo compactado para um cliente que não pode descompactá-lo. O valor padrão é true . |
sendCacheHeaders |
Atributo booliano opcional. Especifica se os cabeçalhos configurados em cacheControlHeader e expiresHeader são enviados com cada resposta compactada. O valor padrão é false . |
staticCompressionDisableCpuUsage |
Atributo uint opcional. Especifica o percentual de utilização da CPU na qual a compactação estática está desabilitada. O valor deve estar entre 0 e 100. A utilização média da CPU é calculada a cada 30 segundos. Nota: Essa propriedade atua como um limite superior de CPU no qual a compactação estática é desativada. Quando a utilização da CPU ficar abaixo do valor especificado no atributo staticCompressionEnableCpuUsage , a compactação estática será reabilitada. O valor padrão é 100 . |
staticCompressionEnableCpuUsage |
Atributo uint opcional. Especifica o percentual de utilização da CPU na qual a compactação estática está habilitada. O valor deve estar entre 0 e 100. A utilização média da CPU é calculada a cada 30 segundos. Nota: Essa propriedade atua como um limite de CPU inferior abaixo do qual a compactação estática está ativada. Quando a utilização da CPU subir acima do valor especificado no atributo staticCompressionDisableCpuUsage , a compactação estática será desabilitada. O valor padrão é 50 . |
staticCompressionIgnoreHitFrequency |
Atributo booliano opcional. Se True, desabilita o comportamento de que um arquivo estático é compactado somente se for atingido um determinado número de vezes em um período de tempo. Você pode encontrar circunstâncias em que deseja que o conteúdo estático sempre seja compactado para reduzir o uso da largura de banda. Por exemplo, talvez você queira sempre compactar o conteúdo estático quando um sistema emprega um balanceador de carga com cache de borda entre um servidor Web e o solicitante, fazendo com que um arquivo descompactado seja armazenado em cache no servidor de borda porque as solicitações subsequentes não chegariam ao servidor Web. Se o comportamento não estiver desabilitado, uma taxa de ocorrências maior ou igual a duas ocorrências em 10 segundos resultará na compactação do conteúdo estático. Uma taxa de ocorrência menor resultaria na não compactação do conteúdo. O valor padrão é False . |
Elementos filho
Elemento | Descrição |
---|---|
scheme |
Elemento opcional. Especifica o esquema de compactação (Gzip ou Deflate) que o IIS usa para compactar solicitações de cliente. |
dynamicTypes |
Elemento opcional. Especifica as definições de configuração para compactação dinâmica. |
staticTypes |
Elemento opcional. Especifica as definições de configuração para compactação estática. |
Exemplo de configuração
O elemento padrão <httpCompression>
a seguir é configurado no arquivo ApplicationHost.config no IIS 7. Esta seção de configuração herda as definições de configuração padrão, a menos que você use o <clear>
elemento .
<httpCompression
directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
Exemplo de código
Os exemplos de código a seguir adicionarão os tipos MIME para documentos do Office 2003 à lista de tipos de compactação dinâmica.
Observação
Os documentos do Office 2007 usam compactação interna, portanto, não precisam ser compactados pelo IIS.
AppCmd.exe
appcmd.exe set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/msword',enabled='True']" /commit:apphost
appcmd.exe set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/vnd.ms-powerpoint',enabled='True']" /commit:apphost
appcmd.exe set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/vnd.ms-excel',enabled='True']" /commit:apphost
Observação
Você deve ter certeza de definir o parâmetro commit como apphost
ao usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de localização apropriada no arquivo ApplicationHost.config.
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.GetApplicationHostConfiguration();
ConfigurationSection httpCompressionSection = config.GetSection("system.webServer/httpCompression");
ConfigurationElementCollection dynamicTypesCollection = httpCompressionSection.GetCollection("dynamicTypes");
ConfigurationElement addElement = dynamicTypesCollection.CreateElement("add");
addElement["mimeType"] = @"application/msword";
addElement["enabled"] = true;
dynamicTypesCollection.Add(addElement);
ConfigurationElement addElement1 = dynamicTypesCollection.CreateElement("add");
addElement1["mimeType"] = @"application/vnd.ms-powerpoint";
addElement1["enabled"] = true;
dynamicTypesCollection.Add(addElement1);
ConfigurationElement addElement2 = dynamicTypesCollection.CreateElement("add");
addElement2["mimeType"] = @"application/vnd.ms-excel";
addElement2["enabled"] = true;
dynamicTypesCollection.Add(addElement2);
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.GetApplicationHostConfiguration
Dim httpCompressionSection As ConfigurationSection = config.GetSection("system.webServer/httpCompression")
Dim dynamicTypesCollection As ConfigurationElementCollection = httpCompressionSection.GetCollection("dynamicTypes")
Dim addElement As ConfigurationElement = dynamicTypesCollection.CreateElement("add")
addElement("mimeType") = "application/msword"
addElement("enabled") = True
dynamicTypesCollection.Add(addElement)
Dim addElement1 As ConfigurationElement = dynamicTypesCollection.CreateElement("add")
addElement1("mimeType") = "application/vnd.ms-powerpoint"
addElement1("enabled") = True
dynamicTypesCollection.Add(addElement1)
Dim addElement2 As ConfigurationElement = dynamicTypesCollection.CreateElement("add")
addElement2("mimeType") = "application/vnd.ms-excel"
addElement2("enabled") = True
dynamicTypesCollection.Add(addElement2)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var httpCompressionSection = adminManager.GetAdminSection("system.webServer/httpCompression", "MACHINE/WEBROOT/APPHOST");
var dynamicTypesCollection = httpCompressionSection.ChildElements.Item("dynamicTypes").Collection;
var addElement = dynamicTypesCollection.CreateNewElement("add");
addElement.Properties.Item("mimeType").Value = "application/msword";
addElement.Properties.Item("enabled").Value = true;
dynamicTypesCollection.AddElement(addElement);
var addElement1 = dynamicTypesCollection.CreateNewElement("add");
addElement1.Properties.Item("mimeType").Value = "application/vnd.ms-powerpoint";
addElement1.Properties.Item("enabled").Value = true;
dynamicTypesCollection.AddElement(addElement1);
var addElement2 = dynamicTypesCollection.CreateNewElement("add");
addElement2.Properties.Item("mimeType").Value = "application/vnd.ms-excel";
addElement2.Properties.Item("enabled").Value = true;
dynamicTypesCollection.AddElement(addElement2);
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set httpCompressionSection = adminManager.GetAdminSection("system.webServer/httpCompression", "MACHINE/WEBROOT/APPHOST")
Set dynamicTypesCollection = httpCompressionSection.ChildElements.Item("dynamicTypes").Collection
Set addElement = dynamicTypesCollection.CreateNewElement("add")
addElement.Properties.Item("mimeType").Value = "application/msword"
addElement.Properties.Item("enabled").Value = True
dynamicTypesCollection.AddElement(addElement)
Set addElement1 = dynamicTypesCollection.CreateNewElement("add")
addElement1.Properties.Item("mimeType").Value = "application/vnd.ms-powerpoint"
addElement1.Properties.Item("enabled").Value = True
dynamicTypesCollection.AddElement(addElement1)
Set addElement2 = dynamicTypesCollection.CreateNewElement("add")
addElement2.Properties.Item("mimeType").Value = "application/vnd.ms-excel"
addElement2.Properties.Item("enabled").Value = True
dynamicTypesCollection.AddElement(addElement2)
adminManager.CommitChanges()
Os exemplos de código a seguir adicionarão os tipos MIME para documentos do Office 2003 à lista de tipos de compactação estática.
(> [! OBSERVAÇÃO]
Os documentos do Office 2007 usam compactação interna, portanto, não precisam ser compactados pelo IIS.)
AppCmd.exe
appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/msword',enabled='True']" /commit:apphost
appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/vnd.ms-powerpoint',enabled='True']" /commit:apphost
appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/vnd.ms-excel',enabled='True']" /commit:apphost
Observação
Você deve ter certeza de definir o parâmetro commit como apphost
ao usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de localização apropriada no arquivo ApplicationHost.config.
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.GetApplicationHostConfiguration();
ConfigurationSection httpCompressionSection = config.GetSection("system.webServer/httpCompression");
ConfigurationElementCollection staticTypesCollection = httpCompressionSection.GetCollection("staticTypes");
ConfigurationElement addElement = staticTypesCollection.CreateElement("add");
addElement["mimeType"] = @"application/msword";
addElement["enabled"] = true;
staticTypesCollection.Add(addElement);
ConfigurationElement addElement1 = staticTypesCollection.CreateElement("add");
addElement1["mimeType"] = @"application/vnd.ms-powerpoint";
addElement1["enabled"] = true;
staticTypesCollection.Add(addElement1);
ConfigurationElement addElement2 = staticTypesCollection.CreateElement("add");
addElement2["mimeType"] = @"application/vnd.ms-excel";
addElement2["enabled"] = true;
staticTypesCollection.Add(addElement2);
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.GetApplicationHostConfiguration
Dim httpCompressionSection As ConfigurationSection = config.GetSection("system.webServer/httpCompression")
Dim staticTypesCollection As ConfigurationElementCollection = httpCompressionSection.GetCollection("staticTypes")
Dim addElement As ConfigurationElement = staticTypesCollection.CreateElement("add")
addElement("mimeType") = "application/msword"
addElement("enabled") = True
staticTypesCollection.Add(addElement)
Dim addElement1 As ConfigurationElement = staticTypesCollection.CreateElement("add")
addElement1("mimeType") = "application/vnd.ms-powerpoint"
addElement1("enabled") = True
staticTypesCollection.Add(addElement1)
Dim addElement2 As ConfigurationElement = staticTypesCollection.CreateElement("add")
addElement2("mimeType") = "application/vnd.ms-excel"
addElement2("enabled") = True
staticTypesCollection.Add(addElement2)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var httpCompressionSection = adminManager.GetAdminSection("system.webServer/httpCompression", "MACHINE/WEBROOT/APPHOST");
var staticTypesCollection = httpCompressionSection.ChildElements.Item("staticTypes").Collection;
var addElement = staticTypesCollection.CreateNewElement("add");
addElement.Properties.Item("mimeType").Value = "application/msword";
addElement.Properties.Item("enabled").Value = true;
staticTypesCollection.AddElement(addElement);
var addElement1 = staticTypesCollection.CreateNewElement("add");
addElement1.Properties.Item("mimeType").Value = "application/vnd.ms-powerpoint";
addElement1.Properties.Item("enabled").Value = true;
staticTypesCollection.AddElement(addElement1);
var addElement2 = staticTypesCollection.CreateNewElement("add");
addElement2.Properties.Item("mimeType").Value = "application/vnd.ms-excel";
addElement2.Properties.Item("enabled").Value = true;
staticTypesCollection.AddElement(addElement2);
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set httpCompressionSection = adminManager.GetAdminSection("system.webServer/httpCompression", "MACHINE/WEBROOT/APPHOST")
Set staticTypesCollection = httpCompressionSection.ChildElements.Item("staticTypes").Collection
Set addElement = staticTypesCollection.CreateNewElement("add")
addElement.Properties.Item("mimeType").Value = "application/msword"
addElement.Properties.Item("enabled").Value = True
staticTypesCollection.AddElement(addElement)
Set addElement1 = staticTypesCollection.CreateNewElement("add")
addElement1.Properties.Item("mimeType").Value = "application/vnd.ms-powerpoint"
addElement1.Properties.Item("enabled").Value = True
staticTypesCollection.AddElement(addElement1)
Set addElement2 = staticTypesCollection.CreateNewElement("add")
addElement2.Properties.Item("mimeType").Value = "application/vnd.ms-excel"
addElement2.Properties.Item("enabled").Value = True
staticTypesCollection.AddElement(addElement2)
adminManager.CommitChanges()
Comentários
Enviar e exibir comentários de