HTTP-Komprimierung <httpCompression>

Übersicht

Das <httpCompression>-Element gibt die HTTP-Komprimierungseinstellungen für Internetinformationsdienste 7 (Internet Information Services, IIS) an. DIE HTTP-Komprimierung kann Übertragungen zwischen IIS und Clientbrowsern, die komprimierte Dateien akzeptieren können, beschleunigen.

Hinweis

Ein HTTP-Client muss die Kommunikation für komprimierte Inhalte initiieren, indem er den entsprechenden HTTP-Header „Accept-Encoding“ sendet. Von Clients, die die HTTP-Komprimierung nicht verwenden können, wird dieser Header nicht übergeben. IIS 7 gibt dann immer nicht komprimierte Inhalte zurück.

Es gibt zwei verschiedene Komprimierungsarten, die von IIS 7 verwendet werden:

  • Statische Komprimierung:

    IIS 7 speichert komprimierte statische Inhalte in dem Pfad zwischen, der durch das directory-Attribut angegeben wird. Dadurch erhöht sich die Komprimierungsleistung, da bereits komprimierte Inhalte nicht erneut komprimiert werden müssen. Nachdem IIS 7 eine Datei komprimiert hat, wird bei nachfolgenden Anforderungen die komprimierte Kopie der Datei aus dem Cacheverzeichnis übergeben.

    Die Attribute staticCompressionEnableCpuUsage und staticCompressionDisableCpuUsage geben an, wann IIS 7 statische Dateien komprimiert (basierend auf der CPU-Auslastung).

    Es empfiehlt sich, die statische Komprimierung mit Dateien zu verwenden, die sich in der Regel nicht ändern. Hierzu zählen beispielsweise HTML-Dateien (*.html, *.htm), Textdateien (*.txt) und Microsoft Office-Dokumente (*.doc, *.xls, *.ppt). Die Größe dieser Dateien kann mittels Komprimierung reduziert werden, was zur Verkürzung der Downloadzeiten für Clientanforderungen sowie zur Verringerung der beanspruchten Bandbreite auf dem Server führt.

    Hinweis

    Bilddateien wie JPG- und PNG-Dateien sind zwar auch statische Dateien, profitieren in der Regel aber nicht von der HTTP-Komprimierung, da sie bereits komprimiert sind.

  • Dynamische Komprimierung:

    Anders als bei der statischen Komprimierung führt IIS 7 bei jeder Anforderung des Inhalts durch einen Client eine dynamische Komprimierung durch, die komprimierte Version wird jedoch nicht auf dem Datenträger zwischengespeichert. Der Grund für diese Änderung ist der Hauptunterschied zwischen statischen und dynamischen Inhalten. Statische Inhalte ändern sich nicht. Dynamische Inhalte sind jedoch in der Regel Inhalte, die von einer Anwendung erstellt werden und sich daher häufig ändern. Beispiele wären etwa ASP-Inhalte (Active Server Pages) oder ASP.NET-Inhalte. Da sich dynamische Inhalte wahrscheinlich häufig ändern, werden sie von IIS 7 nicht zwischengespeichert.

    Die Attribute dynamicCompressionEnableCpuUsage und dynamicCompressionDisableCpuUsage geben an, wann IIS 7 dynamische Dateien komprimiert (basierend auf der CPU-Auslastung).

IIS 7 unterstützt zwei verschiedene branchenübliche Komprimierungsschemas:

Jedes dieser beiden Komprimierungsschemas kann mit dem <schemes>-Element des <httpCompression>-Elements aktiviert werden.

Hinweis

Das <httpCompression>-Element gibt die HTTP-Komprimierungseinstellungen für Internetinformationsdienste 7 (Internet Information Services, IIS) an. Das <urlCompression>-Element gibt an, ob die Komprimierung für einen URL-Namespace aktiviert ist.

Kompatibilität

Version Hinweise
IIS 10.0 Das <httpCompression>-Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das staticCompressionIgnoreHitFrequency-Attribut wurde in IIS 8.5 hinzugefügt.
IIS 8.0 Das <httpCompression>-Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 In IIS 7.5 wurde der Standardwert für das minFileSizeForComp-Attribut geändert, und das dynamicCompressionBufferLimit-Attribut wurde hinzugefügt.
IIS 7.0 Das <httpCompression>-Element wurde in IIS 7.0 eingeführt.
IIS 6.0 Das <httpCompression>-Element ersetzt die folgenden Metabasiseigenschaften von IIS 6.0:
  • HcCacheControlHeader
  • HcCompressionDirectory
  • HcDoDiskSpaceLimiting
  • HcExpiresHeader
  • HcMaxDiskSpaceUsage
  • HcMinFileSizeForComp
  • HcNoCompressionForHttp10
  • HcNoCompressionForProxies
  • HcNoCompressionForRange
  • HcSendCacheHeaders

Setup

Die HTTP-Komprimierung ist in der Regel in der Standardinstallation von IIS 7 und höheren Versionen verfügbar. Standardmäßig wird jedoch nur die statische Komprimierung installiert. Führen Sie die folgenden Schritte aus, um die statische oder dynamische Komprimierung zu installieren:

Windows Server 2012 oder Windows Server 2012 R2

  1. Klicken Sie auf der Taskleiste auf Server-Manager.
  2. Klicken Sie im Server-Manager auf Verwalten und dann auf Rollen und Features hinzufügen.
  3. Klicken Sie im Assistenten zum Hinzufügen von Rollen und Features auf Weiter. Wählen Sie den Installationstyp aus, und klicken Sie auf Weiter. Wählen Sie den Zielserver aus, und klicken Sie auf Weiter.
  4. Erweitern Sie auf der Seite Serverrollen die Option Webserver (IIS), erweitern Sie Webserver, erweitern Sie Leistung, und wählen Sie dann Statische Inhaltskomprimierung und/oder Dynamische Inhaltskomprimierung aus. Klicken Sie auf Weiter.
    Screenshot of Web Server and Performance node with Static Content Compression selected and Dynamic Content Compression highlighted.
  5. Klicken Sie auf der Seite Features auswählen auf Weiter.
  6. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  7. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows 8 oder Windows 8.1

  1. Bewegen Sie auf dem Startbildschirm den Mauszeiger ganz nach links unten, klicken Sie mit der rechten Maustaste auf die Schaltfläche Start, und klicken Sie dann auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerung auf Programme und Features und dann auf Windows-Features aktivieren oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste, erweitern Sie WWW-Dienste, erweitern Sie Leistungsfeatures, und wählen Sie dann Dynamische Inhaltskomprimierung und/oder Statische Inhaltskomprimierung aus.
    Screenshot of World Wide Web and Performance Features pane expanded showing Dynamic Content Compression and Static Content Compression selected.
  4. Klicken Sie auf OK.
  5. Klicken Sie auf Schließen.

Windows Server 2008 oder Windows Server 2008 R2

  1. Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungstools, und klicken Sie dann auf Server-Manager.
  2. Erweitern Sie im Hierarchiebereich Server-Manager die Option Rollen, und klicken Sie dann auf Webserver (IIS).
  3. Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen.
  4. Wählen Sie auf der Seite Rollendienste auswählen des Assistenten zum Hinzufügen von Rollendiensten die Option DynamischeInhaltskomprimierung aus, wenn Sie die dynamische Komprimierung verwenden möchten, bzw. wählen Sie Statische Inhaltskomprimierung aus, wenn Sie die statische Inhaltskomprimierung installieren möchten. Klicken Sie dann auf Weiter.
    Screenshot of Performance node expanded in Add Role Services page with Dynamic Content Compression highlighted.
  5. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  6. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows Vista oder Windows 7

  1. Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerung auf Programme und Features und dann auf Windows-Features aktivieren oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste > WWW-Dienste > Leistungsfeatures.
  4. Wählen Sie Dynamische HTTP-Komprimierung aus, wenn Sie die dynamische Komprimierung installieren möchten, bzw. wählen Sie Statische Inhaltskomprimierung aus, wenn Sie die statische Komprimierung installieren möchten.
    Screenshot of Performance Features node expanded and H T T P Compression Dynamic selected.
  5. Klicken Sie auf OK.

Gewusst wie

Aktivieren oder Deaktivieren der statischen und dynamischen Komprimierung für eine Site oder Anwendung

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):

    • Vorgehensweise unter Windows Server 2012 oder Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager > Tools > IIS-Manager.
    • Vorgehensweise unter Windows 8 oder Windows 8.1:

      • Halten Sie die WINDOWS-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Server 2008 oder Windows Server 2008 R2:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Vista oder Windows 7:

      • Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
      • Doppelklicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
  2. Navigieren Sie im Bereich Verbindungen zu dem Element, für das Sie die Komprimierung aktivieren möchten. Dabei kann es sich um eine Verbindung, eine Site, eine Anwendung oder ein Verzeichnis handeln.

  3. Doppelklicken Sie im Bereich Start auf Komprimierung.
    Screenshot of Default Web Site Home page showing Compression selected.

  4. Aktivieren Sie im Bereich Komprimierung die Kontrollkästchen, um die statische oder dynamische Komprimierung zu aktivieren, oder deaktivieren Sie die Kontrollkästchen, um die entsprechende Komprimierung zu deaktivieren.
    Screenshot shows Compression pane with Enable dynamic content compression and Enable static content compression boxes both selected.

  5. Klicken Sie nach Abschluss der obigen Schritte im Bereich Aktionen auf Anwenden.

Aktivieren oder Deaktivieren der statischen und dynamischen Komprimierung für einen Server

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):

    • Vorgehensweise unter Windows Server 2012 oder Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager > Tools > Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows 8 oder Windows 8.1:

      • Halten Sie die WINDOWS-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Server 2008 oder Windows Server 2008 R2:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Vista oder Windows 7:

      • Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
      • Doppelklicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
  2. Markieren Sie im Bereich Verbindungen den Namen Ihres Servers.

  3. Doppelklicken Sie im Bereich Start des Servers auf Komprimierung.
    Screenshot shows servers Home pane with Compression highlighted.

  4. Aktivieren Sie im Bereich Komprimierung die Kontrollkästchen, um die statische oder dynamische Komprimierung zu aktivieren, oder deaktivieren Sie die Kontrollkästchen, um die entsprechende Komprimierung zu deaktivieren.
    Screenshot of Compression page showing both boxes for Enable dynamic content compression and Enable static content compression selected.

  5. Klicken Sie nach Abschluss der obigen Schritte im Bereich Aktionen auf Anwenden.

Konfigurieren von „staticCompressionIgnoreHitFrequency“

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):

    • Vorgehensweise unter Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager > Tools > Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Server 8.1:

      • Halten Sie die WINDOWS-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
  2. Wählen Sie im Bereich Verbindungen den Server aus, und doppelklicken Sie dann auf Konfigurations-Editor.

  3. Wählen Sie im Konfigurations-Editor den Abschnitt system.webServer und anschließend httpCompression aus.

  4. Geben Sie für staticCompressionIgnoreHitFrequency den Wert True ein, um das Verhalten zu deaktivieren, dass eine statische Datei nur komprimiert wird, wenn sie innerhalb eines bestimmten Zeitraums mit einer bestimmten Häufigkeit vorkommt, oder geben Sie False ein, um das Verhalten zu aktivieren.
    Screenshot shows Configuration Editor page with True entered for static Compression Ignore Hit Frequency option.

  5. Klicken Sie im Bereich Aktionen auf Übernehmen.

Konfiguration

Attribute

Attribut Beschreibung
cacheControlHeader Optionales Zeichenfolgeattribut.

Gibt die Direktive an, die IIS dem Cache-Control-Header hinzufügt, der den HTTP-Expires-Header außer Kraft setzt. Dieses Attribut stellt sicher, dass ältere Clients und Proxyserver nicht versuchen, komprimierte Dateien zwischenzuspeichern. Um diese Einstellung zu aktivieren, müssen Sie das Attribut sendCacheHeaders auf true festlegen. Der WWW-Dienst muss neu gestartet werden, damit Änderungen an dieser Eigenschaft wirksam werden.

Der Standardwert ist max-age=86400.
directory Optionales Zeichenfolgeattribut.

Gibt das Verzeichnis an, in dem komprimierte Versionen der statischen Dateien vorübergehend gespeichert und zwischengespeichert werden.

Hinweis: In IIS 6.0 war „%windir%\IIS Temporary Compressed Files“ der Standardverzeichnispfad für temporäre komprimierte Dateien von IIS.

Der Standardwert ist %SystemDrive%\inetpub\temp\IIS Temporary Compressed Files.
doDiskSpaceLimiting Optionales boolesches Attribut.

Gibt an, ob ein Grenzwert für den Speicherplatz vorhanden ist, der von allen komprimierten Dateien beansprucht werden kann, die im durch das directory-Attribut angegebenen Komprimierungsverzeichnis gespeichert werden.

Der Standardwert ist true.
dynamicCompressionBufferLimit Optionales uint-Attribut.

Gibt die maximale Anzahl dynamisch komprimierter Daten an, die IIS puffert, bevor der Puffer auf einen Client geleert wird. Dadurch wird die erforderliche Arbeitsspeichermenge für die dynamische Komprimierung verringert.

Hinweis: Dieses Attribut wurde in IIS 7.5 hinzugefügt.

Der Standardwert ist 65536.
dynamicCompressionDisableCpuUsage Optionales uint-Attribut.

Gibt die prozentuale CPU-Auslastung an, ab der die dynamische Komprimierung deaktiviert wird.

Hinweis: Dieses Attribut fungiert als CPU-Obergrenze, ab der die dynamische Komprimierung deaktiviert wird. Wenn die CPU-Auslastung unter den im dynamicCompressionEnableCpuUsage-Attribut angegebenen Wert fällt, wird die dynamische Komprimierung wieder aktiviert.

Der Standardwert ist 90.
dynamicCompressionEnableCpuUsage Optionales uint-Attribut.

Gibt die prozentuale CPU-Auslastung an, unter der die dynamische Komprimierung aktiviert wird. Der Wert muss zwischen 0 und 100 liegen. Die durchschnittliche CPU-Auslastung wird alle 30 Sekunden berechnet.

Hinweis: Dieses Attribut fungiert als CPU-Untergrenze, ab der die dynamische Komprimierung aktiviert wird. Wenn die CPU-Auslastung den im dynamicCompressionDisableCpuUsage-Attribut angegebenen Wert übersteigt, wird die dynamische Komprimierung deaktiviert.

Der Standardwert ist 50.
expiresHeader Optionales Zeichenfolgeattribut.

Gibt den Inhalt des HTTP-Expires-Headers an, der mit allen angeforderten komprimierten Dateien gesendet wird – zusammen mit dem im cacheControlHeader-Attribut angegebenen Cache-Control-Header. Diese Kombination von Headern stellt sicher, dass ältere Clients und Proxyserver nicht versuchen, komprimierte Dateien zwischenzuspeichern. Um diese Einstellung zu aktivieren, müssen Sie das Attribut sendCacheHeaders auf true festlegen. Der WWW-Publishingdienst (WWW-Dienst) muss neu gestartet werden, damit Änderungen an dieser Eigenschaft wirksam werden.

Der Standardwert ist Wed, 01 Jan 1997 12:00:00 GMT.
maxDiskSpaceUsage Optionales uint-Attribut.

Gibt den Speicherplatz (in Megabytes) an, der von komprimierten Dateien im Komprimierungsverzeichnis beansprucht werden kann. Wenn der von komprimierten Dateien beanspruchte Speicherplatz 90 Prozent des Werts in diesem Attribut übersteigt, löscht IIS die Dateien, die am längsten nicht mehr verwendet wurden, bis eine Auslastung von 90 Prozent erreicht ist.

Hinweis: In IIS 6.0 wurde dieser Grenzwert in Bytes ausgedrückt. In IIS 7 wird er in Megabytes ausgedrückt. In IIS 7 wird der Grenzwert pro Anwendungspool angewendet.

Der Standardwert ist 100.
minFileSizeForComp Optionales uint-Attribut.

Gibt an, wie viele Kilobytes eine Datei enthalten muss, damit die On-Demand-Komprimierung verwendet wird.

Der Standardwert für IIS 7.5 ist 2700. In IIS 7.0 war der Standardwert 256.
noCompressionForHttp10 Optionales boolesches Attribut.

Gibt an, ob die Komprimierung für Anforderungen deaktiviert ist, die eine HTTP 1.0-Versionsnummer enthalten.

Hinweis: Einige HTTP 1.0-Clients behandeln das Zwischenspeichern von komprimierten Objekten nicht korrekt. Sie können diese Einstellung verwenden, um zu vermeiden, dass eine komprimierte Datei an einen Client zurückgegeben wird, der sie nicht dekomprimieren kann.

Der Standardwert ist true.
noCompressionForProxies Optionales boolesches Attribut.

Gibt an, ob die HTTP 1.1-Antwort für Komprimierungsanforderungen deaktiviert ist, die über Proxyserver gesendet werden.

Hinweis: Einige HTTP-Proxyserver behandeln das Zwischenspeichern von komprimierten Objekten nicht korrekt. Sie können diese Einstellung verwenden, um zu vermeiden, dass eine komprimierte Datei an einen Proxyserver zurückgegeben wird, der sie nicht dekomprimieren kann.

Der Standardwert ist true.
noCompressionForRange Optionales boolesches Attribut.

Gibt an, ob die Komprimierung für HTTP-Anforderungen deaktiviert ist, die den Range-Header enthalten.

Hinweis: Einige Clients können Bereichsanforderungen nicht korrekt behandeln. Sie können diese Einstellung verwenden, um zu vermeiden, dass eine komprimierte Datei an einen Client zurückgegeben wird, der sie nicht dekomprimieren kann.

Der Standardwert ist true.
sendCacheHeaders Optionales boolesches Attribut.

Gibt an, ob die in cacheControlHeader und expiresHeader konfigurierten Header mit jeder komprimierten Antwort gesendet werden.

Der Standardwert ist false.
staticCompressionDisableCpuUsage Optionales uint-Attribut.

Gibt die prozentuale CPU-Auslastung an, ab der die statische Komprimierung deaktiviert wird. Der Wert muss zwischen 0 und 100 liegen. Die durchschnittliche CPU-Auslastung wird alle 30 Sekunden berechnet.

Hinweis: Diese Eigenschaft fungiert als CPU-Obergrenze, ab der die statische Komprimierung deaktiviert wird. Wenn die CPU-Auslastung unter den im staticCompressionEnableCpuUsage-Attribut angegebenen Wert fällt, wird die statische Komprimierung wieder aktiviert.

Der Standardwert ist 100.
staticCompressionEnableCpuUsage Optionales uint-Attribut.

Gibt die prozentuale CPU-Auslastung an, ab der die statische Komprimierung aktiviert wird. Der Wert muss zwischen 0 und 100 liegen. Die durchschnittliche CPU-Auslastung wird alle 30 Sekunden berechnet.

Hinweis: Diese Eigenschaft fungiert als CPU-Untergrenze, ab der die statische Komprimierung aktiviert wird. Wenn die CPU-Auslastung den im staticCompressionDisableCpuUsage-Attribut angegebenen Wert übersteigt, wird die statische Komprimierung deaktiviert.

Der Standardwert ist 50.
staticCompressionIgnoreHitFrequency Optionales boolesches Attribut.

Bei True wird das Verhalten deaktiviert, dass eine statische Datei nur komprimiert wird, wenn sie innerhalb eines bestimmten Zeitraums mit einer bestimmten Häufigkeit vorkommt. Es kann Situationen geben, in denen statische Inhalte immer komprimiert werden sollen, um die beanspruchte Bandbreite zu verringern. So kann es beispielsweise empfehlenswert sein, statische Inhalte immer zu komprimieren, wenn ein System ein Lastenausgleichsmodul mit Edgezwischenspeicherung zwischen einem Webserver und dem Anforderer verwendet, was dazu führt, dass eine nicht komprimierte Datei auf dem Edgeserver zwischengespeichert wird, da nachfolgende Anforderungen den Webserver nicht erreichen.

Wenn das Verhalten nicht deaktiviert ist, führt eine Trefferrate von mindestens zwei Treffern in zehn Sekunden zur Komprimierung des statischen Inhalts. Bei einer geringeren Trefferrate wird der Inhalt nicht komprimiert.

Der Standardwert ist False.

Untergeordnete Elemente

Element Beschreibung
scheme Optionales Element.

Gibt das Komprimierungsschema („Gzip“ oder „Deflate“) an, das IIS zum Komprimieren von Clientanforderungen verwendet.
dynamicTypes Optionales Element.

Gibt Konfigurationseinstellungen für die dynamische Komprimierung an.
staticTypes Optionales Element.

Gibt Konfigurationseinstellungen für die statische Komprimierung an.

Konfigurationsbeispiel

Das folgende <httpCompression>-Standardelement wird in IIS 7 in der Datei „ApplicationHost.config“ konfiguriert. Dieser Konfigurationsabschnitt erbt die Standardkonfigurationseinstellungen, es sei denn, Sie verwenden das <clear>-Element.

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

Beispielcode

In den folgenden Codebeispielen werden die MIME-Typen für Office 2003-Dokumente der Liste mit den dynamischen Komprimierungstypen hinzugefügt.

Hinweis

Office 2007-Dokumente verwenden eine integrierte Komprimierung, sodass sie nicht von IIS komprimiert werden müssen.

AppCmd.exe

appcmd.exe set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/msword',enabled='True']" /commit:apphost

appcmd.exe set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/vnd.ms-powerpoint',enabled='True']" /commit:apphost

appcmd.exe set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/vnd.ms-excel',enabled='True']" /commit:apphost

Hinweis

Legen Sie den commit-Parameter auf apphost fest, wenn Sie „AppCmd.exe“ verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei „ApplicationHost.config“ festgelegt.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection httpCompressionSection = config.GetSection("system.webServer/httpCompression");
         ConfigurationElementCollection dynamicTypesCollection = httpCompressionSection.GetCollection("dynamicTypes");

         ConfigurationElement addElement = dynamicTypesCollection.CreateElement("add");
         addElement["mimeType"] = @"application/msword";
         addElement["enabled"] = true;
         dynamicTypesCollection.Add(addElement);

         ConfigurationElement addElement1 = dynamicTypesCollection.CreateElement("add");
         addElement1["mimeType"] = @"application/vnd.ms-powerpoint";
         addElement1["enabled"] = true;
         dynamicTypesCollection.Add(addElement1);

         ConfigurationElement addElement2 = dynamicTypesCollection.CreateElement("add");
         addElement2["mimeType"] = @"application/vnd.ms-excel";
         addElement2["enabled"] = true;
         dynamicTypesCollection.Add(addElement2);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim httpCompressionSection As ConfigurationSection = config.GetSection("system.webServer/httpCompression")
      Dim dynamicTypesCollection As ConfigurationElementCollection = httpCompressionSection.GetCollection("dynamicTypes")

      Dim addElement As ConfigurationElement = dynamicTypesCollection.CreateElement("add")
      addElement("mimeType") = "application/msword"
      addElement("enabled") = True
      dynamicTypesCollection.Add(addElement)

      Dim addElement1 As ConfigurationElement = dynamicTypesCollection.CreateElement("add")
      addElement1("mimeType") = "application/vnd.ms-powerpoint"
      addElement1("enabled") = True
      dynamicTypesCollection.Add(addElement1)

      Dim addElement2 As ConfigurationElement = dynamicTypesCollection.CreateElement("add")
      addElement2("mimeType") = "application/vnd.ms-excel"
      addElement2("enabled") = True
      dynamicTypesCollection.Add(addElement2)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var httpCompressionSection = adminManager.GetAdminSection("system.webServer/httpCompression", "MACHINE/WEBROOT/APPHOST");
var dynamicTypesCollection = httpCompressionSection.ChildElements.Item("dynamicTypes").Collection;

var addElement = dynamicTypesCollection.CreateNewElement("add");
addElement.Properties.Item("mimeType").Value = "application/msword";
addElement.Properties.Item("enabled").Value = true;
dynamicTypesCollection.AddElement(addElement);

var addElement1 = dynamicTypesCollection.CreateNewElement("add");
addElement1.Properties.Item("mimeType").Value = "application/vnd.ms-powerpoint";
addElement1.Properties.Item("enabled").Value = true;
dynamicTypesCollection.AddElement(addElement1);

var addElement2 = dynamicTypesCollection.CreateNewElement("add");
addElement2.Properties.Item("mimeType").Value = "application/vnd.ms-excel";
addElement2.Properties.Item("enabled").Value = true;
dynamicTypesCollection.AddElement(addElement2);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set httpCompressionSection = adminManager.GetAdminSection("system.webServer/httpCompression", "MACHINE/WEBROOT/APPHOST")
Set dynamicTypesCollection = httpCompressionSection.ChildElements.Item("dynamicTypes").Collection

Set addElement = dynamicTypesCollection.CreateNewElement("add")
addElement.Properties.Item("mimeType").Value = "application/msword"
addElement.Properties.Item("enabled").Value = True
dynamicTypesCollection.AddElement(addElement)

Set addElement1 = dynamicTypesCollection.CreateNewElement("add")
addElement1.Properties.Item("mimeType").Value = "application/vnd.ms-powerpoint"
addElement1.Properties.Item("enabled").Value = True
dynamicTypesCollection.AddElement(addElement1)

Set addElement2 = dynamicTypesCollection.CreateNewElement("add")
addElement2.Properties.Item("mimeType").Value = "application/vnd.ms-excel"
addElement2.Properties.Item("enabled").Value = True
dynamicTypesCollection.AddElement(addElement2)

adminManager.CommitChanges()

In den folgenden Codebeispielen werden die MIME-Typen für Office 2003-Dokumente der Liste mit den statischen Komprimierungstypen hinzugefügt.

(> [!HINWEIS]

Office 2007-Dokumente verwenden eine integrierte Komprimierung, sodass sie nicht von IIS komprimiert werden müssen.)

AppCmd.exe

appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/msword',enabled='True']" /commit:apphost

appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/vnd.ms-powerpoint',enabled='True']" /commit:apphost

appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/vnd.ms-excel',enabled='True']" /commit:apphost

Hinweis

Legen Sie den commit-Parameter auf apphost fest, wenn Sie „AppCmd.exe“ verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei „ApplicationHost.config“ festgelegt.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection httpCompressionSection = config.GetSection("system.webServer/httpCompression");
         ConfigurationElementCollection staticTypesCollection = httpCompressionSection.GetCollection("staticTypes");

         ConfigurationElement addElement = staticTypesCollection.CreateElement("add");
         addElement["mimeType"] = @"application/msword";
         addElement["enabled"] = true;
         staticTypesCollection.Add(addElement);

         ConfigurationElement addElement1 = staticTypesCollection.CreateElement("add");
         addElement1["mimeType"] = @"application/vnd.ms-powerpoint";
         addElement1["enabled"] = true;
         staticTypesCollection.Add(addElement1);

         ConfigurationElement addElement2 = staticTypesCollection.CreateElement("add");
         addElement2["mimeType"] = @"application/vnd.ms-excel";
         addElement2["enabled"] = true;
         staticTypesCollection.Add(addElement2);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim httpCompressionSection As ConfigurationSection = config.GetSection("system.webServer/httpCompression")
      Dim staticTypesCollection As ConfigurationElementCollection = httpCompressionSection.GetCollection("staticTypes")

      Dim addElement As ConfigurationElement = staticTypesCollection.CreateElement("add")
      addElement("mimeType") = "application/msword"
      addElement("enabled") = True
      staticTypesCollection.Add(addElement)

      Dim addElement1 As ConfigurationElement = staticTypesCollection.CreateElement("add")
      addElement1("mimeType") = "application/vnd.ms-powerpoint"
      addElement1("enabled") = True
      staticTypesCollection.Add(addElement1)

      Dim addElement2 As ConfigurationElement = staticTypesCollection.CreateElement("add")
      addElement2("mimeType") = "application/vnd.ms-excel"
      addElement2("enabled") = True
      staticTypesCollection.Add(addElement2)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var httpCompressionSection = adminManager.GetAdminSection("system.webServer/httpCompression", "MACHINE/WEBROOT/APPHOST");
var staticTypesCollection = httpCompressionSection.ChildElements.Item("staticTypes").Collection;

var addElement = staticTypesCollection.CreateNewElement("add");
addElement.Properties.Item("mimeType").Value = "application/msword";
addElement.Properties.Item("enabled").Value = true;
staticTypesCollection.AddElement(addElement);

var addElement1 = staticTypesCollection.CreateNewElement("add");
addElement1.Properties.Item("mimeType").Value = "application/vnd.ms-powerpoint";
addElement1.Properties.Item("enabled").Value = true;
staticTypesCollection.AddElement(addElement1);

var addElement2 = staticTypesCollection.CreateNewElement("add");
addElement2.Properties.Item("mimeType").Value = "application/vnd.ms-excel";
addElement2.Properties.Item("enabled").Value = true;
staticTypesCollection.AddElement(addElement2);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set httpCompressionSection = adminManager.GetAdminSection("system.webServer/httpCompression", "MACHINE/WEBROOT/APPHOST")
Set staticTypesCollection = httpCompressionSection.ChildElements.Item("staticTypes").Collection

Set addElement = staticTypesCollection.CreateNewElement("add")
addElement.Properties.Item("mimeType").Value = "application/msword"
addElement.Properties.Item("enabled").Value = True
staticTypesCollection.AddElement(addElement)

Set addElement1 = staticTypesCollection.CreateNewElement("add")
addElement1.Properties.Item("mimeType").Value = "application/vnd.ms-powerpoint"
addElement1.Properties.Item("enabled").Value = True
staticTypesCollection.AddElement(addElement1)

Set addElement2 = staticTypesCollection.CreateNewElement("add")
addElement2.Properties.Item("mimeType").Value = "application/vnd.ms-excel"
addElement2.Properties.Item("enabled").Value = True
staticTypesCollection.AddElement(addElement2)

adminManager.CommitChanges()