Yanıtlar:
GZIP sıkıştırmasını tamamen Web.config
dosyanızda etkinleştirebilirsiniz . Bu özellikle paylaşılan barındırma kullanıyorsanız ve IIS'yi doğrudan yapılandıramıyorsanız veya yapılandırmanızın hedeflediğiniz tüm ortamlar arasında taşınmasını istiyorsanız kullanışlıdır.
<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>
Sıkıştırma işleminin çalışıp çalışmadığını test etmek için Chrome veya Firebug için Firefox'taki geliştirici araçlarını kullanın ve HTTP yanıt başlığının ayarlandığından emin olun:
Content-Encoding: gzip
Yanıt kodu 304 (Değiştirilmedi) ise bu üstbilginin mevcut olmayacağını unutmayın. Bu durumda, tam bir yenileme yapın (yenileme düğmesine basarken shift veya kontrol tuşunu basılı tutun) ve tekrar kontrol edin.
.js
değil. Ayrıca, eklemeyi denedim application/x-javascript
. Tomcat ile birlikte kullanıldığında directory
parametre kaldırıldı .
Özelliği Windows Özellikleri kontrol panelinden etkinleştirmeniz gerekir:
HttpModule'de Global Gzip
Son IIS örneğine (paylaşılan barındırma ...) erişiminiz yoksa, bu kodu her HttpApplication.Begin_Request olayına ekleyen bir HttpModule oluşturabilirsiniz:
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;
Test yapmak
Kudos, test olmadan hiçbir çözüm yapılmaz. Firefox eklentisini kullanmak istiyorum " Liveheaders " sıkıştırma ve dosya boyutu (sunucudaki dosya boyutuyla karşılaştırabileceğiniz) dahil olmak üzere tarayıcı ve sunucu arasındaki her http mesajıyla ilgili tüm bilgileri gösterir.
Bu özelliği sadece Charlie'nin belirttiği gibi Windows özelliklerine eklemem gerekiyordu. 10 veya sunucu 2012 + 'da bulamayan insanlar için aşağıdaki gibi bulun. Biraz mücadele ettim
Ayrıca dinamik sayfaları (aspx gibi) gzip etmeye çalışıyorsanız ve çalışmıyorsa, muhtemelen seçenek etkinleştirilmediğinden (Windows Özelliklerini kullanarak Dinamik İçerik Sıkıştırma modülünü yüklemeniz gerekir):
http://support.esri.com/en/knowledgebase/techarticles/detail/38616
Hiçbir şey yüklemeden test etmenin bir başka kolay yolu da IIS sürümüne bağlı değildir. URL'nizi bu bağlantıya yapıştırın - SEO Checkup
Web.config dosyasına eklemek için: http://www.iis.net/configreference/system.webserver/httpcompression
Firebug eklentileri yüklü olarak Firefox'u deneyin. Onu kullanıyorum; web geliştirici için harika bir araç.
Web.config kullanarak IIS7'mde Gzip sıkıştırmasını da etkinleştirdim.