230 votes

Activez IIS7 gzip

Comment puis-je activer IIS7 pour gzip fichiers statiques tels que js et css et comment tester si IIS7 est vraiment gziping eux avant de l’envoyer au client ?

Merci !

243voto

Drew Noakes Points 69288

Configuration

Vous pouvez activer la compression GZIP entièrement dans votre Web.config le fichier. Ceci est particulièrement utile si vous êtes en hébergement mutualisé et ne pouvez pas configurer IIS directement, ou vous voulez que votre config à réaliser entre tous les environnements que vous ciblez.

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

Les tests

Pour tester si la compression est de travailler ou non, utiliser les outils de développement de Chrome ou de Firebug pour Firefox et de veiller à la tête de réponse HTTP est défini:

Content-Encoding: gzip

Notez que cet en-tête ne sera pas présent si le code de réponse est 304 (Non Modifiée). Si c'est le cas, faire une actualisation complète (maintenez la touche maj ou ctrl enfoncée pendant que vous appuyez sur le bouton actualiser) et vérifiez de nouveau.

58voto

Gulzar Nazim Points 35342

alt text

Il s’agit d’un autre bon lien et vous montrer comment faire pour vérifier à l’aide d’un violon.

COMPRESSION HTTP dans IIS 6 et IIS 7

58voto

Charlie Points 1056

Vous aurez besoin activer la fonctionnalité dans le panneau de contrôle des fonctionnalités Windows :

IIS feature screenshot

37voto

rizzle Points 3127

Mondial Gzip dans HttpModule

Si vous n'avez pas accès à la dernière instance de IIS (hébergement mutualisé...), vous pouvez créer un HttpModule qui ajoute ce code à chaque HttpApplication.Begin_Request événement :

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;

Les tests

Bravo, aucune solution n'est fait sans le tester. J'aime utiliser le plugin Firefox "Liveheaders" il montre toutes les informations au sujet de chaque message http entre le navigateur et le serveur, y compris la compression, la taille du fichier (que vous pouvez comparer la taille du fichier sur le serveur).

5voto

madcolor Points 4077

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X