compresion - iis enable compression
Habilitar gzip de IIS7 (10)
¿Cómo puedo habilitar IIS7 para gzip archivos estáticos como js y css y cómo puedo probar si IIS7 realmente los está comprimiendo antes de enviarlos al cliente?
Configuración
Puede habilitar la compresión GZIP completamente en su archivo Web.config
. Esto es particularmente útil si está en un alojamiento compartido y no puede configurar IIS directamente, o si desea que su configuración se transmita entre todos los entornos a los que apunta.
<system.webServer>
<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>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
</system.webServer>
Pruebas
Para probar si la compresión funciona o no, use las herramientas de desarrollador en Chrome o Firebug para Firefox y asegúrese de que el encabezado de respuesta HTTP esté configurado:
Content-Encoding: gzip
Tenga en cuenta que este encabezado no estará presente si el código de respuesta es 304 (No modificado). Si ese es el caso, realice una actualización completa (mantenga presionado shift o control mientras presiona el botón de actualización) y verifique nuevamente.
Deberá habilitar la función en el panel de control de Características de Windows:
Otra forma fácil de probar sin instalar nada, tampoco depende de la versión de IIS. Pega tu url en este enlace - SEO Checkup
Para agregar a web.config: http://www.iis.net/configreference/system.webserver/httpcompression
Prueba Firefox con los complementos de Firebug instalados. Lo estoy usando; Gran herramienta para desarrolladores web.
También he habilitado la compresión Gzip en mi IIS7 usando web.config.
Si también está intentando gzip páginas dinámicas (como aspx) y no está funcionando, es probable que la opción no esté habilitada (necesita instalar el módulo de compresión de contenido dinámico usando las características de Windows):
http://support.esri.com/en/knowledgebase/techarticles/detail/38616
Si usa YSlow con Firebug y analiza el rendimiento de su página, YSlow le dirá qué artefactos de su página no están incluidos.
Solo necesitaba agregar la función en las características de Windows, como lo mencionó Charlie. Para las personas que no pueden encontrarla en la ventana 10 o en el servidor 2012+, puede encontrarla como se muestra a continuación. Luché un poco
Windows 10
servidor de windows 2012 R2
servidor de ventana 2016
Gzip global en HttpModule
Si no tiene acceso a la instancia final de IIS (hosting compartido ...) puede crear un HttpModule que agrega este código a cada evento HttpApplication.Begin_Request:
HttpContext context = HttpContext.Current;
context.Response.Filter = new GZipStream(context.Response.Filter, CompressionMode.Compress);
HttpContext.Current.Response.AppendHeader("Content-encoding", "gzip");
HttpContext.Current.Response.Cache.VaryByHeaders["Accept-encoding"] = true;
Pruebas
Kudos, no se hace ninguna solución sin probar. Me gusta usar el complemento de Firefox " Liveheaders " que muestra toda la información sobre cada mensaje http entre el navegador y el servidor, incluida la compresión, el tamaño del archivo (que se puede comparar con el tamaño del archivo en el servidor).