HTTP-Komprimierung <httpCompression>

Übersicht

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

Hinweis

Ein HTTP-Client muss die Kommunikation für komprimierte Inhalte initiieren, indem der entsprechende HTTP-Codierungsheader gesendet wird. Wenn ein Client keine HTTP-Komprimierung ermöglicht, wird dieser Header nicht übergeben, und IIS 7 gibt immer nicht komprimierten Inhalt zurück.

Es gibt zwei verschiedene Arten von Komprimierung, die IIS 7 verwendet:

  • Statische Komprimierung:

    IIS 7 speichert komprimierten statischen Inhalt im Pfad, der durch das Verzeichnisattribute angegeben wird, wodurch die Komprimierungsleistung erhöht wird, indem die Notwendigkeit vermieden wird, inhalte erneut zu komprimieren, die bereits komprimiert wurden. Nachdem IIS 7 eine Datei komprimiert hat, erhalten nachfolgende Anforderungen die komprimierte Kopie der Datei aus dem Cacheverzeichnis.

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

    Sie sollten statische Komprimierung mit Dateien verwenden, die sich normalerweise nicht ändern, z. B. HTML-Dateien (*.html, *.htm), Textdateien (*.txt), Microsoft Office-Dokumente (*.doc, *.xls, *.ppt) usw. Die Größe dieser Dateien kann durch Komprimierung reduziert werden, wodurch die Downloadzeiten für Clientanforderungen reduziert und die Bandbreite auf dem Server reduziert wird.

    Hinweis

    Bilddateien wie *.jpg und *.png Dateien sind auch statische Dateien, aber in der Regel profitieren sie nicht von der HTTP-Komprimierung, da diese Bilddateien bereits komprimiert sind.

  • Dynamische Komprimierung:

    Im Gegensatz zur statischen Komprimierung führt IIS 7 die dynamische Komprimierung jedes Mal aus, wenn ein Client den Inhalt anfordert, aber die komprimierte Version wird nicht auf dem Datenträger zwischengespeichert. Diese Änderung wird aufgrund des primären Unterschieds zwischen statischem und dynamischem Inhalt vorgenommen. Statischer Inhalt ändert sich nicht. Dynamische Inhalte sind jedoch in der Regel Inhalte, die von einer Anwendung erstellt werden und daher häufig geändert werden, z. B. Active Server Pages (ASP) oder ASP.NET Inhalt. Da dynamische Inhalte häufig geändert werden sollten, speichert IIS 7 ihn nicht zwischen.

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

IIS 7 unterstützt zwei verschiedene Branchenstandardkomprimierungsschemas:

Jede dieser beiden Komprimierungsschemas kann mithilfe <schemes> des <httpCompression> Elements aktiviert werden.

Hinweis

Während das <httpCompression> Element die HTTP-Komprimierungseinstellungen für Internetinformationsdienste (IIS) 7 angibt, gibt das <URLCompression-Element> an, ob die Komprimierung für einen URL-Namespace aktiviert ist.

Kompatibilität

Version Notizen
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 IIS 6.0-Metabasiseigenschaften:
  • HcCacheControlHeader
  • HcCompressionDirectory
  • HcDoDiskSpaceLimiting
  • HcExpiresHeader
  • HcMaxDiskSpaceUsage
  • HcMinFileSizeForComp
  • HcNoCompressionForHttp10
  • HcNoCompressionForProxies
  • HcNoCompressionForRange
  • HcSendCacheHeaders

Einrichten

DIE HTTP-Komprimierung ist in der Regel in der Standardinstallation von IIS 7 und höher verfügbar. Allerdings wird standardmäßig nur statische Komprimierung installiert. Verwenden Sie die folgenden Schritte, um 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 in Server-Manager auf das Menü "Verwalten", und klicken Sie dann auf "Rollen und Features hinzufügen".
  3. Klicken Sie im Assistenten " Rollen und Features hinzufügen " 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 " den Webserver (IIS), erweitern Sie Den Webserver, erweitern Sie die Leistung, und wählen Sie dann "Statische Inhaltskomprimierung " und/oder "Dynamische Inhaltskomprimierung" aus. Klicken Sie auf Weiter.
    Screenshot des Webservers und des Leistungsknotens mit ausgewählter statischer Inhaltskomprimierung und hervorgehobener dynamischer Inhaltskomprimierung. .
  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 auf die untere linke Ecke, klicken Sie mit der rechten Maustaste auf die Startschaltfläche, und klicken Sie dann auf Systemsteuerung.
  2. Klicken Sie in Systemsteuerung auf "Programme und Features", und klicken Sie dann auf "Windows-Features aktivieren" oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste, erweitern Sie World Wide Web Services, erweitern Sie Leistungsfeatures, und wählen Sie dann dynamische Inhaltskomprimierung und/oder statische Inhaltskomprimierung aus.
    Screenshot des Bereichs
  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 Server-Manager Hierarchiebereich 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 "Rollendienste hinzufügen" die Option "DynamischeInhaltskomprimierung " aus, wenn Sie die dynamische Komprimierung und statische Inhaltskomprimierung installieren möchten, und klicken Sie dann auf "Weiter".
    Screenshot des Leistungsknotens, der auf der Seite
  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 klicken Sie dann auf Systemsteuerung.
  2. Klicken Sie in Systemsteuerung auf "Programme und Features", und klicken Sie dann auf "Windows-Features aktivieren" oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste, dann World Wide Web Services und dann Leistungsfeatures.
  4. Wählen Sie http-Komprimierung dynamisch aus, wenn Sie dynamische Komprimierung und statische Inhaltskomprimierung installieren möchten, wenn Sie statische Komprimierung installieren möchten.
    Screenshot des Knotens
  5. Klicken Sie auf OK.

Vorgehensweise

Aktivieren oder Deaktivieren statischer und dynamischer Komprimierung für eine Website oder Anwendung

  1. Internetinformationsdienste-Manager (IIS) öffnen:

    • Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:

      • Klicken Sie auf der Taskleiste auf Server-Manager, klicken Sie auf "Extras", und klicken Sie dann auf den IIS-Manager (InternetInformationsdienste).
    • Wenn Sie Windows 8 oder Windows 8.1 verwenden:

      • Halten Sie die Windows-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf "Verwaltungstools", und doppelklicken Sie dann auf den IIS-Manager (InternetInformationsdienste).
    • Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:

      • Klicken Sie auf der Taskleiste auf "Start", zeigen Sie auf "Verwaltungstools", und klicken Sie dann auf den IIS-Manager (Internet Information Services).
    • Wenn Sie Windows Vista oder Windows 7 verwenden:

      • Klicken Sie auf der Taskleiste auf "Start", und klicken Sie dann auf Systemsteuerung.
      • Doppelklicken Sie auf "Verwaltungstools", und doppelklicken Sie dann auf den IIS-Manager (InternetInformationsdienste).
  2. Wechseln Sie im Bereich "Verbindungen " zur Verbindung, zum Standort, zur Anwendung oder zum Verzeichnis, für das Sie die Komprimierung aktivieren möchten.

  3. Doppelklicken Sie im Startbereich auf "Komprimierung".
    Screenshot der Startseite der Standardwebsite mit ausgewählter Komprimierung.

  4. Aktivieren Sie im Komprimierungsbereich die Kontrollkästchen, um statische oder dynamische Komprimierung zu aktivieren oder die Häkchen zu entfernen, um statische oder dynamische Komprimierung zu deaktivieren.
    Screenshot zeigt den Komprimierungsbereich mit aktivierten dynamischen Inhaltskomprimierungsfeldern und aktivierten statischen Inhaltskomprimierungsfeldern.

  5. Nachdem Sie die obigen Schritte abgeschlossen haben, klicken Sie im Bereich "Aktionen" auf "Übernehmen".

Aktivieren oder Deaktivieren statischer und dynamischer Komprimierung für einen Server

  1. Internetinformationsdienste-Manager (IIS) öffnen:

    • Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:

      • Klicken Sie auf der Taskleiste auf Server-Manager, klicken Sie auf "Extras", und klicken Sie dann auf den IIS-Manager (InternetInformationsdienste).
    • Wenn Sie Windows 8 oder Windows 8.1 verwenden:

      • Halten Sie die Windows-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf "Verwaltungstools", und doppelklicken Sie dann auf den IIS-Manager (InternetInformationsdienste).
    • Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:

      • Klicken Sie auf der Taskleiste auf "Start", zeigen Sie auf "Verwaltungstools", und klicken Sie dann auf den IIS-Manager (Internet Information Services).
    • Wenn Sie Windows Vista oder Windows 7 verwenden:

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

  3. Doppelklicken Sie im Startbereich des Servers auf "Komprimierung".
    Screenshot zeigt den Startbereich der Server mit hervorgehobener Komprimierung.

  4. Aktivieren Sie im Komprimierungsbereich die Kontrollkästchen, um statische oder dynamische Komprimierung zu aktivieren oder die Häkchen zu entfernen, um statische oder dynamische Komprimierung zu deaktivieren.
    Screenshot der Seite

  5. Nachdem Sie die obigen Schritte abgeschlossen haben, klicken Sie im Bereich "Aktionen" auf "Übernehmen".

So konfigurieren Sie statischeCompressionIgnoreHitFrequency

  1. Internetinformationsdienste-Manager (IIS) öffnen:

    • Wenn Sie Windows Server 2012 R2 verwenden:

      • Klicken Sie auf der Taskleiste auf Server-Manager, klicken Sie auf "Extras", und klicken Sie dann auf den IIS-Manager (InternetInformationsdienste).
    • Wenn Sie Windows 8.1 verwenden:

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

  3. Wählen Sie im Konfigurations-Editor für den Abschnitt "system.webServer" und dann "httpCompression" aus.

  4. Geben Sie für staticCompressionIgnoreHitFrequency ein True , um das Verhalten zu deaktivieren, das eine statische Datei nur komprimiert wird, wenn sie innerhalb eines Zeitraums auf eine bestimmte Anzahl von Malen getroffen wird, oder geben Sie ein False , um das Verhalten zu aktivieren.
    Screenshot zeigt die Seite

  5. Klicken Sie im Bereich Aktionen auf Übernehmen.

Konfiguration

Attribute

attribute BESCHREIBUNG
cacheControlHeader Optionales Zeichenfolgeattribut.

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

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

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

Hinweis: In IIS 6.0 war der Standardverzeichnispfad für temporäre komprimierte IIS-Dateien %windir%\IIS Temporäre komprimierte Dateien.

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, den alle komprimierten Dateien, die im durch das Verzeichnisattribute angegebenen Komprimierungsverzeichnis gespeichert sind, belegen können.

Der Standardwert ist true.
dynamicCompressionBufferLimit Optionales Uint-Attribut.

Gibt die maximale Anzahl dynamisch komprimierter Daten an, die IIS puffert, bevor der Puffer in einen Client geleert wird. Dadurch wird der Arbeitsspeicher verringert, der zum Ausführen der dynamischen Komprimierung erforderlich ist.

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

Der Standardwert ist 65536.
dynamicCompressionDisableCpuUsage Optionales Uint-Attribut.

Gibt den Prozentsatz der CPU-Auslastung an, bei der die dynamische Komprimierung deaktiviert wird.

Hinweis: Dieses Attribut fungiert als oberer CPU-Grenzwert, bei dem die dynamische Komprimierung deaktiviert ist. Wenn die CPU-Auslastung unter den im dynamicCompressionEnableCpuUsage-Attribut angegebenen Wert fällt, wird die dynamische Komprimierung erneut aktiviert.

Der Standardwert ist 90.
dynamicCompressionEnableCpuUsage Optionales Uint-Attribut.

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

Hinweis: Dieses Attribut fungiert als niedrigere CPU-Grenze, unter der die dynamische Komprimierung aktiviert ist. Wenn die CPU-Auslastung über dem im dynamicCompressionDisableCpuUsage-Attribut angegebenen Wert steigt, wird die dynamische Komprimierung deaktiviert.

Der Standardwert ist 50.
expiresHeader Optionales Zeichenfolgeattribut.

Gibt den Inhalt des HTTP-Ablaufheaders 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 SendCacheHeaders-Attribut auf "true" festlegen. Der World Wide Web Publishing Service (WWW-Dienst) muss neu gestartet werden, bevor Änderungen an dieser Eigenschaft wirksam werden.

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

Gibt die Anzahl von Megabyte Speicherplatz an, den komprimierte Dateien im Komprimierungsverzeichnis belegen können. Wenn der von komprimierten Dateien verwendete Speicherplatz 90 Prozent des Werts in diesem Attribut überschreitet, löscht IIS die zuletzt verwendeten Dateien, bis eine 90-Prozent-Nutzungsebene erreicht ist.

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

Der Standardwert ist 100.
minFileSizeForComp Optionales Uint-Attribut.

Gibt die Mindestanzahl von Kilobytes an, die eine Datei enthalten muss, um die On-Demand-Komprimierung zu verwenden.

Der Standardwert für IIS 7.5 lautet 2700; für IIS 7.0 war 256der Standardwert .
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 die Zwischenspeicherung komprimierter Objekte nicht ordnungsgemäß. 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 stammen.

Hinweis: Einige HTTP-Proxyserver behandeln die Zwischenspeicherung komprimierter Objekte nicht ordnungsgemäß. Sie können diese Einstellung verwenden, um die Rückgabe einer komprimierten Datei an einen Proxyserver zu vermeiden, 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 Bereichsheader enthalten.

Hinweis: Einige Clients können Bereichsanforderungen nicht ordnungsgemäß verarbeiten. 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 konfigurierten Header und ablaufenHeader mit jeder komprimierten Antwort gesendet werden.

Der Standardwert ist false.
staticCompressionDisableCpuUsage Optionales Uint-Attribut.

Gibt den Prozentsatz der CPU-Auslastung an, bei der statische Komprimierung deaktiviert ist. Der Wert muss zwischen 0 und 100 sein. Die durchschnittliche CPU-Auslastung wird alle 30 Sekunden berechnet.

Hinweis: Diese Eigenschaft fungiert als oberer CPU-Grenzwert, bei dem die statische Komprimierung deaktiviert ist. Wenn die CPU-Auslastung unter den im staticCompressionEnableCpuUsage-Attribut angegebenen Wert fällt, wird die statische Komprimierung erneut aktiviert.

Der Standardwert ist 100.
staticCompressionEnableCpuUsage Optionales Uint-Attribut.

Gibt den Prozentsatz der CPU-Auslastung an, bei der statische Komprimierung aktiviert ist. Der Wert muss zwischen 0 und 100 sein. Die durchschnittliche CPU-Auslastung wird alle 30 Sekunden berechnet.

Hinweis: Diese Eigenschaft fungiert als niedrigere CPU-Grenze, unter der die statische Komprimierung aktiviert ist. Wenn die CPU-Auslastung über dem wert steigt, der im statischenCompressionDisableCpuUsage-Attribut angegeben ist, wird die statische Komprimierung deaktiviert.

Der Standardwert ist 50.
staticCompressionIgnoreHitFrequency Optionales boolesches Attribut.

Wenn "True" aktiviert ist, wird das Verhalten deaktiviert, das eine statische Datei nur komprimiert wird, wenn sie innerhalb eines Zeitraums eine bestimmte Anzahl von Malen getroffen wird. Möglicherweise treten Umstände auf, unter denen statische Inhalte immer komprimiert werden sollen, um die Bandbreite zu verringern. Beispielsweise können Sie statische Inhalte immer komprimieren, wenn ein System einen Lastenausgleich mit Dem Edgecache zwischen einem Webserver und dem Anforderer verwendet, wodurch eine nicht komprimierte Datei auf dem Edgeserver zwischengespeichert wird, da nachfolgende Anforderungen den Webserver nicht erreichen würden.

Wenn das Verhalten nicht deaktiviert ist, führt eine Trefferrate von größer als oder gleich zwei Treffern in 10 Sekunden zur Komprimierung des statischen Inhalts. Eine geringere Trefferrate würde dazu führen, dass der Inhalt nicht komprimiert wird.

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 statische Komprimierung an.

Konfigurationsbeispiel

Das folgende Standardelement <httpCompression> ist in der ApplicationHost.config Datei in IIS 7 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

Die folgenden Codebeispiele fügen die MIME-Typen für Office 2003-Dokumente zur Liste der dynamischen Komprimierungstypen hinzu.

Hinweis

Office 2007-Dokumente verwenden 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

Sie müssen den Commitparameterapphost unbedingt festlegen, wenn Sie AppCmd.exe verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der ApplicationHost.config-Datei commitsiert.

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 zur Liste der statischen Komprimierungstypen hinzugefügt.

(> [! HINWEIS]

Office 2007-Dokumente verwenden 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

Sie müssen den Commitparameterapphost unbedingt festlegen, wenn Sie AppCmd.exe verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der ApplicationHost.config-Datei commitsiert.

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