Comment puis-je activer IIS7 pour compresser des fichiers statiques tels que js et css et comment puis-je tester si IIS7 les gippe réellement avant de les envoyer au client?
Vous pouvez activer la compression GZIP entièrement dans votre fichier Web.config
. Ceci est particulièrement utile si vous êtes sur un hébergement partagé et que vous ne pouvez pas configurer directement IIS ou que vous souhaitez que votre configuration soit transmise entre tous les environnements ciblés.
Pour vérifier si la compression fonctionne ou non, utilisez les outils de développement de Chrome ou de Firebug pour Firefox et assurez-vous que l’en-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é). Si c’est le cas, effectuez une mise à jour complète (maintenez la touche Maj enfoncée ou contrôlez pendant que vous appuyez sur le bouton Actualiser) et vérifiez à nouveau.
Vous devrez activer la fonctionnalité dans le panneau de configuration des fonctionnalités Windows:
Gzip global dans HttpModule
Si vous n’avez pas access à l’instance IIS finale (hébergement partagé …), vous pouvez créer un HttpModule qui ajoute ce code à chaque événement 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;
Essai
Bravo, aucune solution n’est faite sans test. J’aime utiliser le plugin Firefox ” Liveheaders ” qui affiche toutes les informations sur 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).
sous windows 2012 r2 on peut le trouver ici:
Si vous utilisez YSlow avec Firebug et parsingz les performances de votre page, YSlow vous dira certainement quels artefacts sur votre page ne sont pas générés!
Si vous essayez également de compresser des pages dynamics (comme aspx) et que cela ne fonctionne pas, c’est probablement parce que l’option n’est pas activée (vous devez installer le module Dynamic Content Compression à l’aide des fonctionnalités Windows):
http://support.esri.com/en/knowledgebase/techarticles/detail/38616
Je n’avais besoin que d’append la fonctionnalité dans les fonctionnalités Windows, comme le mentionnait Charlie. J’ai lutté un peu
Un autre moyen facile de tester sans rien installer, ni dépendre de la version d’IIS. Collez votre URL sur ce lien – SEO Checkup
Pour append à web.config: http://www.iis.net/configreference/system.webserver/httpcompression
Essayez Firefox avec les addons Firebug installés. Je l’utilise; excellent outil pour développeur web.
J’ai également activé la compression Gzip dans mon IIS7 en utilisant web.config.