enable compresion iis iis-7 compression gzip

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.


Bajo windows 2012 r2 se puede encontrar aquí:


Deberá habilitar la función en el panel de control de Características de Windows:



Para todos los tipos pobres que tienen que luchar con un servidor alemán / deutsche :)


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