Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Überblick
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-Accept-Encoding-Header gesendet wird. Wenn ein Client nicht in der Lage ist, die HTTP-Komprimierung zu verwenden, 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 beseitigt wird, inhalte neu 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 die 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 bei jeder Anforderung des Inhalts eine dynamische Komprimierung durch, die komprimierte Version wird jedoch nicht auf dem Datenträger zwischengespeichert. Diese Änderung wird aufgrund des Hauptunterschieds 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 sie nicht zwischen.
Die Attribute dynamicCompressionEnableCpuUsage und dynamicCompressionDisableCpuUsage geben an, wann IIS 7 dynamische Dateien basierend auf der CPU-Auslastung komprimiert.
IIS 7 unterstützt zwei verschiedene Branchenstandardkomprimierungsschemas:
- Verzögerung – diese Form der Komprimierung wird in der Rfc-Spezifikation (Requests For Comment) 1951 dokumentiert.
- GZIP (GNU zip) - diese Form der Komprimierung ist in der Spezifikation Requests For Comment (RFC) 1952 dokumentiert.
Jedes 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 | 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 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:
|
Konfiguration
HTTP-Komprimierung ist in der Regel in der Standardinstallation von IIS 7 und höher verfügbar. Standardmäßig wird jedoch nur statische Komprimierung installiert. Führen Sie die folgenden Schritte aus, um statische oder dynamische Komprimierung zu installieren.
Windows Server 2012 oder Windows Server 2012 R2
- Klicken Sie auf der Taskleiste auf Server-Manager.
- Klicken Sie im Server-Manager auf das Menü "Verwalten" , und klicken Sie dann auf "Rollen und Features hinzufügen".
- 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".
- Erweitern Sie auf der Seite "Serverrollen" den Webserver (IIS), erweitern Sie den Webserver, erweitern Sie die Leistung, und wählen Sie dann "Komprimierung statischer Inhalte" und/oder "Dynamische Inhaltskomprimierung" aus. Klicken Sie auf Weiter.
.
- Klicken Sie auf der Seite "Features auswählen " auf "Weiter".
- Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
- Klicken Sie auf der Seite "Ergebnisse " auf "Schließen".
Windows 8 oder Windows 8.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".
- Klicken Sie in der Systemsteuerung auf "Programme und Features", und klicken Sie dann auf "Windows-Features aktivieren oder deaktivieren".
- Erweitern Sie Internetinformationsdienste, erweitern Sie World Wide Web Services, erweitern Sie Leistungsfeatures, und wählen Sie dann dynamische Inhaltskomprimierung und/oder statische Inhaltskomprimierung aus.
- Klicke auf OK.
- Klicken Sie auf Schließen.
Windows Server 2008 oder Windows Server 2008 R2
- Klicken Sie auf der Taskleiste auf "Start", zeigen Sie auf " Verwaltungstools", und klicken Sie dann auf "Server-Manager".
- Erweitern Sie im Hierarchiebereich "Server-Manager" die Option "Rollen", und klicken Sie dann auf "Webserver (IIS)".
- Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt "Rollendienste ", und klicken Sie dann auf " Rollendienste hinzufügen".
- 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 und statische Inhaltskomprimierung installieren möchten, und klicken Sie dann auf "Weiter".
- Klicken Sie auf der Seite " Installationsauswahl bestätigen " auf "Installieren".
- Klicken Sie auf der Seite "Ergebnisse " auf "Schließen".
Windows Vista oder Windows 7
- Klicken Sie auf der Taskleiste auf "Start" und dann auf " Systemsteuerung".
- Klicken Sie in der Systemsteuerung auf "Programme und Features", und klicken Sie dann auf "Windows-Features aktivieren oder deaktivieren".
- Erweitern Sie Internetinformationsdienste, dann World Wide Web Services und dann Leistungsfeatures.
- Wählen Sie http Compression Dynamic aus, wenn Sie dynamische Komprimierung und statische Inhaltskomprimierung installieren möchten, wenn Sie statische Komprimierung installieren möchten.
- Klicke auf OK.
Anleitung
Aktivieren oder Deaktivieren der statischen und dynamischen Komprimierung für eine Website oder Anwendung
Internetinformationsdienste(IIS)-Manager öffnen:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie auf der Taskleiste auf "Server-Manager", auf "Extras" und dann auf " Internetinformationsdienste(IIS)-Manager".
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 (InternetInformationsdienste).
Wenn Sie Windows Vista oder Windows 7 verwenden:
- Klicken Sie auf der Taskleiste auf "Start" und dann auf " Systemsteuerung".
- Doppelklicken Sie auf "Verwaltungstools", und doppelklicken Sie dann auf den IIS-Manager (InternetInformationsdienste).
Wechseln Sie im Bereich "Verbindungen " zu der Verbindung, zum Standort, zur Anwendung oder zum Verzeichnis, für die Sie die Komprimierung aktivieren möchten.
Aktivieren Sie im Komprimierungsbereich die Kontrollkästchen, um statische oder dynamische Komprimierung zu aktivieren, oder entfernen Sie die Häkchen, um statische oder dynamische Komprimierung zu deaktivieren.
Nachdem Sie die obigen Schritte abgeschlossen haben, klicken Sie im Bereich "Aktionen" auf "Übernehmen".
Aktivieren oder Deaktivieren der statischen und dynamischen Komprimierung für einen Server
Internetinformationsdienste(IIS)-Manager öffnen:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie auf der Taskleiste auf "Server-Manager", auf "Extras" und dann auf " Internetinformationsdienste(IIS)-Manager".
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 (InternetInformationsdienste).
Wenn Sie Windows Vista oder Windows 7 verwenden:
- Klicken Sie auf der Taskleiste auf "Start" und dann auf " Systemsteuerung".
- Doppelklicken Sie auf "Verwaltungstools", und doppelklicken Sie dann auf den IIS-Manager (InternetInformationsdienste).
Markieren Sie im Bereich "Verbindungen " den Namen Ihres Servers.
Doppelklicken Sie im Startbereich des Servers auf "Komprimierung".
Aktivieren Sie im Komprimierungsbereich die Kontrollkästchen, um statische oder dynamische Komprimierung zu aktivieren, oder entfernen Sie die Häkchen, um statische oder dynamische Komprimierung zu deaktivieren.
Nachdem Sie die obigen Schritte abgeschlossen haben, klicken Sie im Bereich "Aktionen" auf "Übernehmen".
Konfigurieren von staticCompressionIgnoreHitFrequency
Internetinformationsdienste(IIS)-Manager öffnen:
Wenn Sie Windows Server 2012 R2 verwenden:
- Klicken Sie auf der Taskleiste auf "Server-Manager", auf "Extras" und dann auf " Internetinformationsdienste(IIS)-Manager".
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).
Wählen Sie im Bereich "Verbindungen " den Server aus, und doppelklicken Sie dann auf den Konfigurations-Editor.
Wählen Sie im Konfigurations-Editor für den Abschnitt "system.webServer" und dann "httpCompression" aus.
Geben Sie
True
für staticCompressionIgnoreHitFrequency ein, um das Verhalten zu deaktivieren, das eine statische Datei nur komprimiert wird, wenn sie innerhalb eines Zeitraums auf eine bestimmte Anzahl von Malen trifft, oder gebenFalse
Sie ein, um das Verhalten zu aktivieren.
In the Actions pane, click Apply.
Konfiguration
Attribute
Diese Attribute können nur auf Serverebene konfiguriert werden. Die Konfiguration auf Standortebene oder niedriger wird ignoriert.
Attribut | BESCHREIBUNG |
---|---|
cacheControlHeader |
Optionales Zeichenfolgen-Attribut. Gibt die Direktive an, die IIS dem Cache-Control-Header hinzufügt, der den HTTP-Expires-Header ü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 Zeichenfolgen-Attribut. Gibt das Verzeichnis an, in dem komprimierte Versionen statischer Dateien vorübergehend gespeichert und zwischengespeichert werden. Anmerkung: In IIS 6.0 wurde der Standardverzeichnispfad für temporäre iis-komprimierte Dateien %windir%\IIS Temporary Compressed Files. 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 Verzeichnis-Attribut 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 auf einen Client geleert wird. Dadurch wird die Arbeitsspeichermenge verringert, die zum Ausführen einer dynamischen Komprimierung erforderlich ist. Anmerkung: 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. Anmerkung: 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. Anmerkung: 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 Zeichenfolgen-Attribut. 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 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 der Megabyte an 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-Nutzungsstufe erreicht ist. Anmerkung: In IIS 6.0 wurde dieser Grenzwert in Byte 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 Bytes 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 lautete 256 der Standardwert . |
noCompressionForHttp10 |
Optionales boolesches Attribut. Gibt an, ob die Komprimierung für Anforderungen deaktiviert ist, die eine HTTP 1.0-Versionsnummer enthalten. Anmerkung: Einige HTTP 1.0-Clients behandeln das Zwischenspeichern von komprimierten Objekten 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 gesendet werden. Anmerkung: Einige HTTP-Proxyserver behandeln das Zwischenspeichern von komprimierten Objekten nicht ordnungsgemäß. 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 Bereichsheader enthalten. Anmerkung: 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 expiresHeader mit jeder komprimierten Antwort gesendet werden. Der Standardwert ist false . |
staticCompressionDisableCpuUsage |
Optionales Uint-Attribut. Gibt den Prozentsatz der CPU-Auslastung an, bei der die statische Komprimierung deaktiviert ist. Der Wert muss zwischen 0 und 100 sein. Die durchschnittliche CPU-Auslastung wird alle 30 Sekunden berechnet. Anmerkung: 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. Anmerkung: Diese Eigenschaft fungiert als niedrigere CPU-Grenze, unter der statische Komprimierung aktiviert ist. Wenn die CPU-Auslastung über dem im staticCompressionDisableCpuUsage-Attribut angegebenen Wert steigt, wird die statische Komprimierung deaktiviert. Der Standardwert ist 50 . |
staticCompressionIgnoreHitFrequency |
Optionales boolesches Attribut. Wenn True, deaktiviert das Verhalten, das eine statische Datei komprimiert wird, nur, wenn sie innerhalb eines Zeitraums eine bestimmte Anzahl von Malen erreicht wird. Es können Situationen auftreten, unter denen statische Inhalte immer komprimiert werden sollen, um die Bandbreite zu verringern. Sie können z. B. statische Inhalte immer 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 würden. Wenn das Verhalten nicht deaktiviert ist, führt eine Trefferrate von mehr 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) IIS zum Komprimieren von Clientanforderungen an. Dieses Element kann nur auf Serverebene konfiguriert werden. |
dynamicTypes |
Optionales Element. Gibt Konfigurationseinstellungen für die dynamische Komprimierung an. Für IIS-Versionen vor IIS 10.0 kann nur auf Serverebene konfiguriert werden. Für IIS 10.0 und höher kann auch auf Standortebene konfiguriert werden. |
staticTypes |
Optionales Element. Gibt Konfigurationseinstellungen für die statische Komprimierung an. Für IIS 10.0 und höher kann nur auf Standortebene konfiguriert werden. Für IIS-Versionen vor IIS 10.0 kann nur auf Serverebene konfiguriert werden. Für IIS 10.0 und höher kann auch auf Standortebene konfiguriert werden. |
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 unbedingt den Commitparameterapphost
festlegen, wenn Sie AppCmd.exe verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der datei ApplicationHost.config commits.
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()
Die folgenden Codebeispiele fügen die MIME-Typen für Office 2003-Dokumente zur Liste der statischen 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 /+"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 unbedingt den Commitparameterapphost
festlegen, wenn Sie AppCmd.exe verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der datei ApplicationHost.config commits.
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()