Réponses:
Vous pouvez activer la compression GZIP entièrement dans votre Web.config
fichier. Ceci est particulièrement utile si vous êtes sur un hébergement partagé et ne pouvez pas configurer IIS directement, ou si vous souhaitez que votre configuration soit exécutée 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>
Pour tester si la compression fonctionne ou non, utilisez les outils de développement dans Chrome ou 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 tel est le cas, effectuez une actualisation complète (maintenez la touche Maj ou contrôle pendant que vous appuyez sur le bouton d'actualisation) et vérifiez à nouveau.
.js
non. Aussi, j'ai essayé d'ajouter application/x-javascript
. Utilisation avec tomcat, donc supprimé le directory
paramètre.
Vous devrez activer la fonctionnalité dans le panneau de configuration des fonctionnalités de Windows:
Gzip global dans HttpModule
Si vous n'avez pas accès à 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 ne se fait sans test. J'aime utiliser le plugin Firefox " Liveheaders ", il 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).
Je n'avais besoin que d'ajouter la fonctionnalité dans les fonctionnalités de Windows comme Charlie l'a mentionné.Pour les personnes qui ne peuvent pas la trouver sur Windows 10 ou sur le serveur 2012+, trouvez-la comme ci-dessous. J'ai un peu mal
Si vous essayez également de compresser des pages dynamiques (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 de compression de contenu dynamique à l'aide des fonctionnalités de Windows):
http://support.esri.com/en/knowledgebase/techarticles/detail/38616
Un autre moyen facile de tester sans installer quoi que ce soit, ne dépend pas non plus de la version d'IIS. Collez votre URL sur ce lien - SEO Checkup
Pour ajouter à web.config: http://www.iis.net/configreference/system.webserver/httpcompression
Essayez Firefox avec les modules complémentaires 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.