it-swarm.com.de

Aktivieren Sie IIS7-GZIP

Wie kann ich IIS7 aktivieren, um statische Dateien wie js und css zu komprimieren, und wie kann ich testen, ob IIS7 sie wirklich komprimiert, bevor sie an den Client gesendet werden?

224
Paulo

Aufbau

Sie können die GZIP-Komprimierung vollständig in Ihrer Web.config-Datei aktivieren. Dies ist besonders nützlich, wenn Sie sich auf Shared Hosting befinden und IIS nicht direkt konfigurieren können oder die Konfiguration in allen Umgebungen enthalten soll, auf die Sie abzielen.

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

Testen

Um zu testen, ob die Komprimierung funktioniert oder nicht, verwenden Sie die Entwicklerwerkzeuge in Chrome oder Firebug for Firefox und stellen Sie sicher, dass der HTTP-Antwortheader gesetzt ist:

Content-Encoding: gzip

Beachten Sie, dass dieser Header nicht vorhanden ist, wenn der Antwortcode 304 (Nicht geändert) lautet. Wenn dies der Fall ist, führen Sie eine vollständige Aktualisierung durch (halten Sie die Umschalttaste oder die Steuerung gedrückt, während Sie die Aktualisierungsschaltfläche drücken) und prüfen Sie es erneut.

240
Drew Noakes

Sie müssen die Funktion in der Systemsteuerung von Windows Features aktivieren:

IIS feature screenshot

57
Charlie

Global Gzip in HttpModule

Wenn Sie keinen Zugriff auf die letzte IIS - Instanz (Shared Hosting ...) haben, können Sie ein HttpModule erstellen, das diesen Code jedem HttpApplication.Begin_Request-Ereignis hinzufügt:

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;

Testen

Ein Kudos, keine Lösung wird ohne Tests gemacht. Ich benutze gerne das Firefox-Plugin " Liveheaders ". Es zeigt alle Informationen zu jeder http-Nachricht zwischen Browser und Server an, einschließlich Komprimierung und Dateigröße (die Sie mit der Dateigröße auf dem Server vergleichen können).

36
rizzle

unter Windows 2012 R2 ist es hier zu finden:

 enter image description here

5

Wenn Sie YSlow mit Firebug verwenden und die Leistung Ihrer Seite analysieren, wird Ihnen YSlow mit Sicherheit sagen, welche Artefakte auf Ihrer Seite nicht gzipiert werden!

1
jadusty

Ich musste das Feature nur in Windows-Features hinzufügen, wie Charlie es erwähnt hat. Für Leute, die es nicht auf Windows 10 oder Server 2012+ finden, finden Sie es wie unten. Ich habe ein bisschen gekämpft

Windows 10

 enter image description here

windows Server 2012 R2

 enter image description here

fensterserver 2016

 enter image description here

1
Ashkan Sirous

Wenn Sie auch versuchen, dynamische Seiten (z. B. aspx) zu komprimieren, und dies nicht funktioniert, liegt dies möglicherweise daran, dass die Option nicht aktiviert ist (Sie müssen das Dynamic Content Compression-Modul mit Windows-Features installieren):

http://support.esri.com/de/knowledgebase/techarticles/detail/38616

1
steve cook

Testen Sie Firefox mit installierten Firebug-Addons. Ich benutze es; tolles Tool für Webentwickler.

Ich habe in meinem IIS7 auch die Gzip-Komprimierung mit web.config aktiviert. 

0
user495450

Ein weiterer einfacher Weg, um zu testen, ohne etwas zu installieren, ist auch nicht von der IIS -Version abhängig. Fügen Sie Ihre URL in diesen Link ein - SEO Checkup

test gzip

Zu web.config hinzufügen: http://www.iis.net/configreference/system.webserver/httpcompression

0
George

Für alle armen Leute, die mit einem deutschen/deutschen Server zu kämpfen haben :)

 auf deutsch bitte schön

0
Stefan Michev