Share via


Url Compression <urlCompression>

Información general

El <urlCompression> elemento especifica la siguiente configuración para la compresión de contenido estático y dinámico en IIS 7 y versiones posteriores:

  • El atributo doDynamicCompression del <urlCompression> elemento habilita o deshabilita la compresión de contenido dinámico en el nivel de sitio, aplicación o carpeta.
  • El atributo doStaticCompression del <urlCompression> elemento habilita o deshabilita la compresión de contenido estático en el nivel de sitio, aplicación o carpeta.
  • El atributo dynamicCompressionBeforeCache especifica si IIS comprimirá dinámicamente el contenido que no se ha almacenado en caché. Cuando el atributo dynamicCompressionBeforeCache es true, IIS comprime dinámicamente la respuesta la primera vez que se realiza una solicitud y pone en cola el contenido para la compresión. Las solicitudes posteriores se sirven dinámicamente hasta que se haya agregado la respuesta comprimida al directorio de caché. Una vez agregada la respuesta comprimida al directorio de caché, la respuesta almacenada en caché se envía a los clientes para las solicitudes posteriores. Cuando dynamicCompressionBeforeCache es false, IIS devuelve la respuesta sin comprimir hasta que se haya agregado la respuesta comprimida al directorio de caché.

Nota:

Si el atributo dynamicCompressionBeforeCache es true cuando se ha vaciado la respuesta de caché de salida, la compresión dinámica no se realizará antes de que la respuesta se coloque en la caché de salida. Sin embargo, si el atributo doDynamicCompression es true, la compresión dinámica se seguirá produciendo después de que la caché de salida se haya rellenado con la respuesta.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <urlCompression> no se modificó en IIS 10.0.
IIS 8.5 El elemento <urlCompression> no se modificó en IIS 8.5.
IIS 8.0 El elemento <urlCompression> no se modificó en IIS 8.0.
IIS 7.5 En IIS 7.5, el valor predeterminado del doDynamicCompression atributo cambió de false a true.
IIS 7.0 El elemento <urlCompression> se introdujo en IIS 7.0.
IIS 6,0 El elemento <urlCompression> reemplaza las siguientes propiedades de metabase de IIS 6.0:
  • DoStaticCompression
  • DoDynamicCompression
  • HcDoOnDemandCompression

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

  1. En la barra de tareas, haga clic en Administrador del servidor.
  2. En Administrador del servidor, haga clic en el menú Administrar y, después, haga clic en Agregar roles y características.
  3. 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.
  4. 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ónde contenido dinámico. Haga clic en Next.
    Screenshot of the Server Roles page with Static Content Compression and Dynamic Content Compression selected. .
  5. En la página Seleccionar características, haz clic en Siguiente.
  6. En la página Confirmar selecciones de instalación, haga clic en Instalar.
  7. En la página Resultados , haga clic en Cerrar.

Windows 8 o Windows 8.1

  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.
  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
  3. Expanda Internet Information Services, Expanda World Wide Web Services, expanda Característicasde rendimiento y, a continuación, seleccione Compresión de contenido dinámico o Compresiónde contenido estático.
    Screenshot of the Windows Features dialog with Dynamic Content Compression and Static Content Compression selected.
  4. Haga clic en OK.
  5. Haga clic en Cerrar.

Windows Server 2008 o Windows Server 2008 R2

  1. En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, luego, haga clic en Administrador del servidor.
  2. En el panel de jerarquía del Administrador del servidor, expanda Roles y, luego, haga clic en Servidor web (IIS).
  3. En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, luego, haga clic en Agregar servicios de rol.
  4. En la página Seleccionar servicios de rol del Asistentepara agregar servicios de rol, seleccione Compresión de contenido diná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.
    Screenshot of the Add Role Services Wizard with Static Content Compression and Dynamic Content Compression selected.
  5. En la página Confirmar selecciones de instalación, haz clic en Instalar.
  6. En la página Resultados , haga clic en Cerrar.

Windows Vista o Windows 7

  1. En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
  3. Expanda Internet Information Services, después World Wide Web Services y, a continuación Características de rendimiento.
  4. Seleccione Compresión HTTP dinámica si desea instalar la compresión dinámica y Compresión de contenido estático si desea instalar la compresión estática.
    Screenshot of the Windows Features dialog with Http Compression Dynamic selected.
  5. Haga clic en OK.

Procedimientos

Habilitación o deshabilitación de la compresión estática y dinámica para un sitio o aplicación

  1. 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 haga clic en Panel de control.
      • En Panel de control, haga clic en Herramientas administrativas y, 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 Inicio y, luego, 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).
  2. En el panel Conexiones, vaya a la conexión, sitio, aplicación o directorio para los que desea habilitar la compresión.

  3. En el panel Inicio, haga doble clic en Compresión.
    Screenshot of the Internet Information Services Manager with Compression selected in the Home pane.

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

  5. Una vez completados los pasos anteriores, haga clic en Aplicar en el panel Acciones.

Habilitación o deshabilitación de la compresión estática y dinámica para un servidor

  1. 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 haga clic en Panel de control.
      • En Panel de control, haga clic en Herramientas administrativas y, 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 Inicio y, luego, 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).
  2. En el panel Conexiones, resalte el nombre de su servidor.

  3. En el panel Inicio del servidor, haga doble clic en Compresión.
    Screenshot of the Internet Information Services Manager with Compression selected in the server's Home pane.

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

  5. Una vez completados los pasos anteriores, haga clic en Aplicar en el panel Acciones.

Configuración de staticCompressionIgnoreHitFrequency

  1. 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 haga clic en Panel de control.
      • En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, seleccione el servidor y, a continuación, haga doble clic en Editor de configuración.

  3. En el Editor de configuración, en la sección, seleccione system.webServer y, a continuación, seleccione httpCompression.

  4. En staticCompressionIgnoreHitFrequency, escriba True para deshabilitar el comportamiento de que un archivo estático se comprima solo si se accede a él un número determinado de veces dentro de un período de tiempo o escriba False para habilitar el comportamiento.
    Screenshot of the Configuration Editor pane with static Compression Ignore Hit Frequency set to True.

  5. En el panel Acciones, haga clic en Aplicar.

Configuración

Atributos

Atributo Descripción
doDynamicCompression Atributo Boolean opcional.

Especifica si la compresión dinámica está habilitada para las direcciones URL.

Nota: En IIS 7.0, el uso de compresión dinámica se deshabilitó de forma predeterminada debido a un mayor uso del procesador que puede haber reducido el rendimiento general del servidor web. En IIS 7.5, se realizaron cambios en la compresión dinámica que dieron lugar a un mejor rendimiento, por lo que la compresión dinámica está habilitada de forma predeterminada en IIS 7.5 y versiones posteriores.

El valor predeterminado es true.
doStaticCompression Atributo Boolean opcional.

Especifica si la compresión estática está habilitada para las direcciones URL.

El valor predeterminado es true.
dynamicCompressionBeforeCache Atributo Boolean opcional.

Especifica si la respuesta disponible actualmente se comprime dinámicamente antes de colocarla en la memoria caché de salida.

El valor predeterminado es false.

Elementos secundarios

Ninguno.

Ejemplo de configuración

En el ejemplo de configuración siguiente se habilita la compresión estática y se deshabilita la compresión dinámica para el sitio web predeterminado.

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

Código de ejemplo

Los ejemplos de código siguientes habilitan la compresión estática y deshabilitan la compresión dinámica para el sitio web predeterminado.

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()