Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Información general
El <httpCompression> elemento especifica la configuración de compresión HTTP para Internet Information Services (IIS) 7. La compresión HTTP puede proporcionar tiempos de transmisión más rápidos entre IIS y exploradores cliente que pueden aceptar archivos comprimidos.
Nota:
Un cliente HTTP debe iniciar la comunicación para el contenido comprimido mediante el envío del encabezado de codificación HTTP Accept-ending adecuado. Si un cliente no es capaz de compresión HTTP, no pasará ese encabezado y IIS 7 siempre devolverá contenido sin comprimir.
Hay dos tipos diferentes de compresión que IIS 7 usa:
Compresión estática:
IIS 7 almacena en caché el contenido estático comprimido en la ruta de acceso especificada por el atributo de directorio , lo que aumenta el rendimiento de compresión eliminando la necesidad de volver a comprimir el contenido que ya se ha comprimido. Una vez que IIS 7 ha comprimido un archivo, a las solicitudes posteriores se les asigna la copia comprimida del archivo desde el directorio de caché.
Los atributos staticCompressionEnableCpuUsage y staticCompressionDisableCpuUsage especifican cuándo IIS 7 comprimirá los archivos estáticos en función del uso de cpu.
Debe usar la compresión estática con archivos que no suelen cambiar, como archivos HTML (*.html, *.htm), archivos de texto (*.txt), documentos de Microsoft Office (*.doc, *.xls, *.ppt), etc. El tamaño de estos archivos se puede reducir a través de la compresión, lo que reduce los tiempos de descarga de las solicitudes de cliente y reduce el ancho de banda en el servidor.
Nota:
Los archivos de imagen como *.jpg y *.png también son archivos estáticos, pero normalmente no se benefician de la compresión HTTP porque estos archivos de imagen ya están comprimidos.
Compresión dinámica:
A diferencia de la compresión estática, IIS 7 realiza la compresión dinámica cada vez que un cliente solicita el contenido, pero la versión comprimida no se almacena en caché en el disco. Este cambio se realiza debido a la diferencia principal entre el contenido estático y dinámico. El contenido estático no cambia. Sin embargo, el contenido dinámico suele ser contenido creado por una aplicación y, por tanto, cambia a menudo, como Páginas de servidor activo (ASP) o ASP.NET contenido. Dado que el contenido dinámico debe cambiar a menudo, IIS 7 no lo almacena en caché.
Los atributos dynamicCompressionEnableCpuUsage y dynamicCompressionDisableCpuUsage especifican cuándo IIS 7 comprimirá los archivos dinámicos en función del uso de CPU.
IIS 7 admite dos esquemas de compresión estándar del sector diferentes:
- Deflate : esta forma de compresión se documenta en la especificación Requests For Comment (RFC) 1951.
- GZIP (GNU zip): esta forma de compresión se documenta en la especificación Requests For Comment (RFC) 1952.
Cada uno de estos dos esquemas de compresión se puede habilitar mediante el <schemes> elemento del <httpCompression> elemento .
Nota:
Aunque el <httpCompression> elemento especifica la configuración de compresión HTTP para Internet Information Services (IIS) 7, el <elemento urlCompression> especifica si la compresión está habilitada para un espacio de nombres url.
Compatibilidad
| Versión | Notas |
|---|---|
| IIS 10.0 | El <httpCompression> elemento no se modificó en IIS 10.0. |
| IIS 8.5 | El staticCompressionIgnoreHitFrequency atributo se agregó en IIS 8.5. |
| IIS 8.0 | El <httpCompression> elemento no se modificó en IIS 8.0. |
| IIS 7.5 | En IIS 7.5, se ha cambiado el valor predeterminado del minFileSizeForComp atributo y se agregó el dynamicCompressionBufferLimit atributo . |
| IIS 7.0 | El <httpCompression> elemento se introdujo en IIS 7.0. |
| IIS 6.0 | El <httpCompression> elemento reemplaza las siguientes propiedades de metabase de IIS 6.0:
|
Configuración
La compresión HTTP suele estar disponible en la instalación predeterminada de IIS 7 y versiones posteriores. Sin embargo, solo se instala la compresión estática de forma predeterminada. Para instalar la compresión estática o dinámica, siga estos pasos.
Windows Server 2012 o Windows Server 2012 R2
- En la barra de tareas, haga clic en Administrador del servidor.
- En el Administrador del servidor, haga clic en el menú Administrar y, a continuación, haga clic en Agregar roles y características.
- En el Asistente para agregar roles y características , haga clic en Siguiente. Seleccione el tipo de instalación y haga clic en Siguiente. Seleccione el servidor de destino y haga clic en Siguiente.
- En la página Roles de servidor, expanda Servidor web (IIS), servidor web, rendimiento y, a continuación, seleccione Compresión de contenido estático o Compresión de contenido dinámico. Haga clic en Next.
. - En la página Seleccionar características, haz clic en Siguiente.
- En la página Confirmar selecciones de instalación , haga clic en Instalar.
- En la página Resultados , haga clic en Cerrar.
Windows 8 o Windows 8.1
- En la pantalla Inicio , mueva el puntero hasta la esquina inferior izquierda, haga clic con el botón derecho en el botón Inicio y, a continuación, haga clic en Panel de control.
- En el Panel de control, haga clic en Programas y características y, a continuación, haga clic en Activar o desactivar características de Windows.
- Expanda Internet Information Services, Expanda World Wide Web Services, expanda Características de rendimiento y, a continuación, seleccione Compresión de contenido dinámico o Compresión de contenido estático.
- Haz clic en Aceptar.
- Haga clic en Cerrar.
Windows Server 2008 o Windows Server 2008 R2
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador del servidor.
- En el panel Jerarquía del Administrador del servidor, expanda Roles y, a continuación, haga clic en Servidor web (IIS).
- En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, a continuación, haga clic en Agregar servicios de rol.
- En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, seleccione Compresión de contenidodinámico si desea instalar compresión dinámica y Compresión de contenido estático si desea instalar la compresión estática y, a continuación, haga clic en Siguiente.
- En la página Confirmar selecciones de instalación , haga clic en Instalar.
- En la página Resultados , haga clic en Cerrar.
Windows Vista o Windows 7
- En la barra de tareas, haga clic en Inicioy, a continuación, haga clic en Panel de control.
- En el Panel de control, haga clic en Programas y característicasy, a continuación, haga clic en Activar o desactivar características de Windows.
- Expanda Internet Information Services, después World Wide Web Services y, a continuación, Características de rendimiento.
- Seleccione Compresión http dinámica si desea instalar la compresión dinámica y la compresión de contenido estático si desea instalar la compresión estática.
- Haz clic en Aceptar.
Cómo Hacer
Cómo habilitar o deshabilitar la compresión estática y dinámica para un sitio o aplicación
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows , presione la letra X y, a continuación, haga clic en Panel de control.
- Haga clic en Herramientas administrativasy, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicioy, a continuación, haga clic en Panel de control.
- Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
En el panel Conexiones , vaya a la conexión, el sitio, la aplicación o el directorio para el que desea habilitar la compresión.
En el panel Compresión , active las casillas para habilitar la compresión estática o dinámica, o quite las marcas de verificación para deshabilitar la compresión estática o dinámica.
Una vez completados los pasos anteriores, haga clic en Aplicar en el panel Acciones .
Cómo habilitar o deshabilitar la compresión estática y dinámica para un servidor
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows , presione la letra X y, a continuación, haga clic en Panel de control.
- Haga clic en Herramientas administrativasy, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicioy, a continuación, haga clic en Panel de control.
- Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
En el panel Conexiones , resalte el nombre del servidor.
En el panel Inicio del servidor, haga doble clic en Compresión.
En el panel Compresión , active las casillas para habilitar la compresión estática o dinámica, o quite las marcas de verificación para deshabilitar la compresión estática o dinámica.
Una vez completados los pasos anteriores, haga clic en Aplicar en el panel Acciones .
Configuración de staticCompressionIgnoreHitFrequency
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
Si usa Windows 8.1:
- Mantenga presionada la tecla Windows , presione la letra X y, a continuación, haga clic en Panel de control.
- Haga clic en Herramientas administrativasy, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
En el panel Conexiones , seleccione el servidor y, a continuación, haga doble clic en Editor de configuración.
En el Editor de configuración, en la sección, seleccione system.webServer y, a continuación, seleccione httpCompression.
En staticCompressionIgnoreHitFrequency, escriba
Truepara deshabilitar el comportamiento que un archivo estático se comprime solo si se alcanza un número determinado de veces dentro de un período de tiempo o escribaFalsepara habilitar el comportamiento.
En el panel Acciones, haga clic en Aplicar.
Configuración
Atributos
Estos atributos solo se pueden configurar en el nivel de servidor. Se omitirá la configuración en un nivel de sitio o inferior.
| Atributo | Descripción |
|---|---|
cacheControlHeader |
Atributo de cadena opcional. Especifica la directiva que IIS agrega al encabezado Cache-Control que invalida el encabezado HTTP Expires. Este atributo garantiza que los clientes y servidores proxy antiguos no intenten almacenar en caché los archivos comprimidos. Para habilitar esta configuración, debe establecer el atributo sendCacheHeaders en true. El servicio WWW debe reiniciarse antes de que los cambios en esta propiedad surtan efecto. El valor predeterminado es max-age=86400. |
directory |
Atributo de cadena opcional. Especifica el directorio donde las versiones comprimidas de los archivos estáticos se almacenan temporalmente y se almacenan en caché. Nota: En IIS 6.0, la ruta de acceso del directorio predeterminada para los archivos comprimidos temporales de IIS se %windir%\IIS Archivos comprimidos temporales. El valor predeterminado es %SystemDrive%\inetpub\temp\IIS Temporary Compressed Files. |
doDiskSpaceLimiting |
Atributo booleano opcional. Especifica si existe un límite para la cantidad de espacio en disco que pueden ocupar todos los archivos comprimidos, que se almacenan en el directorio de compresión especificado por el atributo de directorio. El valor predeterminado es true. |
dynamicCompressionBufferLimit |
Atributo uint opcional. Especifica la cantidad máxima de datos comprimidos dinámicamente que IIS almacenará en búfer antes de vaciar el búfer en un cliente. Esto reduce la cantidad de memoria necesaria para realizar la compresión dinámica. Nota: Este atributo se agregó en IIS 7.5. El valor predeterminado es 65536. |
dynamicCompressionDisableCpuUsage |
Atributo uint opcional. Especifica el porcentaje de uso de CPU en el que se deshabilitará la compresión dinámica. Nota: Este atributo actúa como un límite superior de CPU en el que se desactiva la compresión dinámica. Cuando el uso de CPU está por debajo del valor especificado en el atributo dynamicCompressionEnableCpuUsage , se volverá a habilitar la compresión dinámica. El valor predeterminado es 90. |
dynamicCompressionEnableCpuUsage |
Atributo uint opcional. Especifica el porcentaje de uso de CPU por debajo del cual se habilitará la compresión dinámica. El valor debe estar comprendido entre 0 y 100. El uso medio de cpu se calcula cada 30 segundos. Nota: Este atributo actúa como un límite inferior de CPU por debajo del cual está activada la compresión dinámica. Cuando el uso de CPU aumenta por encima del valor especificado en el atributo dynamicCompressionDisableCpuUsage , se deshabilitará la compresión dinámica. El valor predeterminado es 50. |
expiresHeader |
Atributo de cadena opcional. Especifica el contenido del encabezado HTTP Expires que se envía con todos los archivos comprimidos solicitados, junto con el encabezado Cache-Control especificado en el atributo cacheControlHeader . Esta combinación de encabezados garantiza que los clientes y servidores proxy antiguos no intenten almacenar en caché los archivos comprimidos. Para habilitar esta configuración, debe establecer el atributo sendCacheHeaders en true. El Servicio de publicación World Wide Web (servicio WWW) debe reiniciarse antes de que los cambios en esta propiedad surtan efecto. El valor predeterminado es Wed, 01 Jan 1997 12:00:00 GMT. |
maxDiskSpaceUsage |
Atributo uint opcional. Especifica el número de megabytes de espacio en disco que los archivos comprimidos pueden ocupar en el directorio de compresión. Cuando el espacio usado por archivos comprimidos supera el 90 % del valor de este atributo, IIS elimina los archivos usados menos recientemente hasta que se alcanza un nivel de uso del 90 %. Nota: En IIS 6.0, este límite se expresó en bytes; en IIS 7, se expresa en megabytes. En IIS 7, el límite se aplica por grupo de aplicaciones. El valor predeterminado es 100. |
minFileSizeForComp |
Atributo uint opcional. Especifica el número mínimo de bytes que debe contener un archivo para poder usar la compresión a petición. El valor predeterminado de IIS 7.5 es 2700; para IIS 7.0, el valor predeterminado era 256. |
noCompressionForHttp10 |
Atributo booleano opcional. Especifica si la compresión está deshabilitada para las solicitudes que contienen un número de versión HTTP 1.0. Nota: Algunos clientes HTTP 1.0 no controlan correctamente el almacenamiento en caché de objetos comprimidos. Puede usar esta configuración para evitar devolver un archivo comprimido a un cliente que no pueda descomprimirlo. El valor predeterminado es true. |
noCompressionForProxies |
Atributo booleano opcional. Especifica si la respuesta HTTP 1.1 está deshabilitada para las solicitudes de compresión que llegan a través de servidores proxy. Nota: Algunos servidores proxy HTTP no controlan correctamente el almacenamiento en caché de objetos comprimidos. Puede usar esta configuración para evitar devolver un archivo comprimido a un servidor proxy que no pueda descomprimirlo. El valor predeterminado es true. |
noCompressionForRange |
Atributo booleano opcional. Especifica si la compresión está deshabilitada para las solicitudes HTTP que incluyen el encabezado Range. Nota: Algunos clientes no pueden controlar correctamente las solicitudes de intervalo. Puede usar esta configuración para evitar devolver un archivo comprimido a un cliente que no pueda descomprimirlo. El valor predeterminado es true. |
sendCacheHeaders |
Atributo booleano opcional. Especifica si los encabezados configurados en cacheControlHeader y expiresHeader se envían con cada respuesta comprimida. El valor predeterminado es false. |
staticCompressionDisableCpuUsage |
Atributo uint opcional. Especifica el porcentaje de uso de CPU en el que se deshabilita la compresión estática. El valor debe estar comprendido entre 0 y 100. El uso medio de cpu se calcula cada 30 segundos. Nota: Esta propiedad actúa como un límite superior de CPU en el que se desactiva la compresión estática. Cuando el uso de cpu está por debajo del valor especificado en el atributo staticCompressionEnableCpuUsage , se volverá a habilitar la compresión estática. El valor predeterminado es 100. |
staticCompressionEnableCpuUsage |
Atributo uint opcional. Especifica el porcentaje de uso de CPU en el que está habilitada la compresión estática. El valor debe estar comprendido entre 0 y 100. El uso medio de cpu se calcula cada 30 segundos. Nota: Esta propiedad actúa como un límite inferior de CPU por debajo del cual está activada la compresión estática. Cuando el uso de CPU aumenta por encima del valor especificado en el atributo staticCompressionDisableCpuUsage , se deshabilitará la compresión estática. El valor predeterminado es 50. |
staticCompressionIgnoreHitFrequency |
Atributo booleano opcional. Si es True, deshabilita el comportamiento que un archivo estático se comprime solo si se alcanza un número determinado de veces dentro de un período de tiempo. Es posible que encuentre circunstancias en las que desea que el contenido estático siempre se comprima para reducir el uso del ancho de banda. Por ejemplo, es posible que quiera comprimir siempre el contenido estático cuando un sistema emplea un equilibrador de carga con almacenamiento en caché perimetral entre un servidor web y el solicitante, lo que hace que un archivo sin comprimir se almacene en caché en el servidor perimetral porque las solicitudes posteriores no llegarían al servidor web. Si el comportamiento no está deshabilitado, una tasa de aciertos mayor o igual que dos aciertos en 10 segundos dará como resultado la compresión del contenido estático. Una tasa de aciertos menor provocaría que el contenido no se comprimiera. El valor predeterminado es False. |
Elementos secundarios
| Elemento | Descripción |
|---|---|
scheme |
Elemento opcional. Especifica el esquema de compresión (Gzip o Deflate) que IIS usa para comprimir las solicitudes de cliente. Este elemento solo se puede configurar en el nivel de servidor. |
dynamicTypes |
Elemento opcional. Especifica los valores de configuración para la compresión dinámica. En el caso de las versiones de IIS anteriores a IIS 10.0, solo se puede configurar en el nivel de servidor. Para IIS 10.0 y versiones posteriores, también se puede configurar en el nivel de sitio. |
staticTypes |
Elemento opcional. Especifica los valores de configuración para la compresión estática. Para IIS 10.0 y versiones posteriores, solo se puede configurar en el nivel de sitio. En el caso de las versiones de IIS anteriores a IIS 10.0, solo se puede configurar en el nivel de servidor. Para IIS 10.0 y versiones posteriores, también se puede configurar en el nivel de sitio. |
Ejemplo de configuración
El siguiente elemento predeterminado <httpCompression> se configura en el archivo ApplicationHost.config en IIS 7. Esta sección de configuración hereda las opciones de configuración predeterminadas a menos que use el <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>
Código de ejemplo
Los ejemplos de código siguientes agregarán los tipos MIME para documentos de Office 2003 a la lista de tipos de compresión dinámica.
Nota:
Los documentos de Office 2007 usan compresión integrada, por lo que iiS no necesita comprimirlos.
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
Nota:
Debe asegurarse de establecer el parámetro apphost de confirmación en cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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()
Los ejemplos de código siguientes agregarán los tipos MIME para documentos de Office 2003 a la lista de tipos de compresión estática.
(> [! NOTA]
Los documentos de Office 2007 usan compresión integrada, por lo que no es necesario comprimirlos mediante 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
Nota:
Debe asegurarse de establecer el parámetro apphost de confirmación en cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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()