URL-Komprimierung <urlCompression>
Übersicht
Das <urlCompression>
-Element gibt die folgenden Einstellungen für die Komprimierung statischer und dynamischer Inhalte in IIS 7 und höher an:
- Das doDynamicCompression-Attribut des
<urlCompression>
-Elements aktiviert oder deaktiviert die dynamische Inhaltskomprimierung auf Site-, Anwendungs- oder Ordnerebene. - Das doStaticCompression-Attribut des
<urlCompression>
-Elements aktiviert oder deaktiviert statische Inhaltskomprimierung auf Site-, Anwendungs- oder Ordnerebene. - Das dynamicCompressionBeforeCache-Attribut gibt an, ob IIS Inhalte dynamisch komprimiert, die nicht zwischengespeichert wurden. Wenn das dynamicCompressionBeforeCache-Attribut true ist, komprimiert IIS die Antwort dynamisch, wenn eine Anforderung zum ersten Mal erfolgt und stellt den Inhalt für die Komprimierung in die Warteschlange. Nachfolgende Anforderungen werden dynamisch bereitgestellt, bis die komprimierte Antwort dem Cacheverzeichnis hinzugefügt wurde. Sobald die komprimierte Antwort dem Cacheverzeichnis hinzugefügt wurde, wird die zwischengespeicherte Antwort an Clients für nachfolgende Anforderungen gesendet. Wenn dynamicCompressionBeforeCache falsch ist, gibt IIS die nicht komprimierte Antwort zurück, bis die komprimierte Antwort dem Cacheverzeichnis hinzugefügt wurde.
Hinweis
Wenn das dynamicCompressionBeforeCache-Attribut true ist, wenn die Ausgabecacheantwort geleert wurde, wird die dynamische Komprimierung nicht ausgeführt, bevor die Antwort in den Ausgabecache eingefügt wird. Wenn das Attribut doDynamicCompression jedoch true ist, tritt die dynamische Komprimierung weiterhin auf, nachdem der Ausgabecache mit der Antwort gefüllt wurde.
Kompatibilität
Version | Hinweise |
---|---|
IIS 10.0 | Das <urlCompression> -Element wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das <urlCompression> -Element wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das <urlCompression> -Element wurde in IIS 8.0 nicht geändert. |
IIS 7.5 | In IIS 7.5 wurde der Standardwert des Attributs doDynamicCompression von false in true geändert. |
IIS 7.0 | Das <urlCompression> Element wurde in IIS 7.0 eingeführt. |
IIS 6.0 | Das <urlCompression> -Element ersetzt die folgenden Metabasiseigenschaften von IIS 6.0:
|
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
- Klicken Sie auf der Taskleiste auf Server-Manager.
- Klicken Sie im Server-Manager auf Verwalten und 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 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.
. - 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 Starttaste und klicken Sie dann auf Systemsteuerung.
- Klicken Sie in der Systemsteuerung auf Programme und Features und dann auf Windows-Features aktivieren oder deaktivieren.
- Erweitern Sie Internetinformationsdienste, erweitern Sie WWW-Dienste, erweitern Sie Leistungsfeatures, und wählen Sie dann Dynamische Inhaltskomprimierung und/oder Statische Inhaltskomprimierung aus.
- Klicken Sie 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 des Server-Managers die Rollenund klicken Sie dann auf den Webserver (IIS) .
- Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienstehinzufügen.
- Wählen Sie auf der Seite "Rollendienste auswählen" des Assistenten zum Hinzufügen von Rollendiensten die Option "Dynamische Inhaltskomprimierung " 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 dann auf Windows-Features aktivieren oder deaktivieren.
- Erweitern Sie Internetinformationsdienste > WWW-Dienste > Leistungsfeatures.
- 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.
- Klicken Sie auf OK.
Gewusst wie
Aktivieren oder Deaktivieren der statischen und dynamischen Komprimierung für eine Site oder Anwendung
Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Server-Managerdann auf Toolsund dann auf den Internet Information Services (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 Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Vista oder Windows 7 verwenden:
- Klicken Sie auf der Taskleiste auf "Start" und dann auf "Systemsteuerung".
- Doppelklicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
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.
Doppelklicken Sie im Bereich Start auf Komprimierung.
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.
Klicken Sie nach Abschluss der obigen Schritte im Bereich Aktionen auf Anwenden.
Aktivieren oder Deaktivieren der statischen und dynamischen Komprimierung für einen Server
Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Server-Managerdann auf Toolsund dann auf den Internet Information Services (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 Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Vista oder Windows 7 verwenden:
- Klicken Sie auf der Taskleiste auf "Start" und dann auf "Systemsteuerung".
- Doppelklicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
Markieren Sie im Bereich Verbindungen den Namen Ihres Servers.
Doppelklicken Sie im Bereich Start des Servers auf Komprimierung.
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.
Klicken Sie nach Abschluss der obigen Schritte im Bereich Aktionen auf Anwenden.
Konfigurieren von „staticCompressionIgnoreHitFrequency“
Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):
Wenn Sie Windows Server 2012 R2 verwenden:
- Klicken Sie in der Taskleiste auf Server-Manager dann auf Tools und dann auf den Internet Information Services (IIS) Manager.
Vorgehensweise unter 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).
Wählen Sie im Bereich Verbindungen den Server aus, und doppelklicken Sie dann auf Konfigurations-Editor.
Wählen Sie im Konfigurations-Editor den Abschnitt system.webServer und anschließend httpCompression aus.
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 SieFalse
ein, um das Verhalten zu aktivieren.
Klicken Sie im Bereich Aktionen auf Übernehmen.
Konfiguration
Attribute
Attribut | Beschreibung |
---|---|
doDynamicCompression |
Optionales boolesches Attribut. Gibt an, ob die dynamische Komprimierung für URLs aktiviert ist. Hinweis: In IIS 7.0 wurde die Verwendung der dynamischen Komprimierung standardmäßig aufgrund einer erhöhten Prozessorauslastung deaktiviert, die möglicherweise die Gesamtleistung des Webservers verringert hat. In IIS 7.5 wurden Änderungen an der dynamischen Komprimierung vorgenommen, was zu einer besseren Leistung führte, sodass die dynamische Komprimierung in IIS 7.5 und höher standardmäßig aktiviert ist. Der Standardwert ist true . |
doStaticCompression |
Optionales boolesches Attribut. Gibt an, ob die statische Komprimierung für URLs aktiviert ist. Der Standardwert ist true . |
dynamicCompressionBeforeCache |
Optionales boolesches Attribut. Gibt an, ob die derzeit verfügbare Antwort dynamisch komprimiert wird, bevor sie in den Ausgabecache eingefügt wird. Der Standardwert ist false . |
Untergeordnete Elemente
Keine.
Konfigurationsbeispiel
Das folgende Konfigurationsbeispiel aktiviert die statische Komprimierung und deaktiviert die dynamische Komprimierung für die Standardwebsite.
<configuration>
<system.webServer>
<urlCompression doStaticCompression="true" doDynamicCompression="false" />
</system.webServer>
</configuration>
Beispielcode
Die folgenden Codebeispiele aktivieren die statische Komprimierung und deaktivieren die dynamische Komprimierung für die Standardwebsite.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/urlCompression /doDynamicCompression:"False"
appcmd.exe set config "Default Web Site" -section:system.webServer/urlCompression /doStaticCompression:"True"
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.GetWebConfiguration("Default Web Site");
ConfigurationSection urlCompressionSection = config.GetSection("system.webServer/urlCompression");
urlCompressionSection["doStaticCompression"] = true;
urlCompressionSection["doDynamicCompression"] = false;
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.GetWebConfiguration("Default Web Site")
Dim urlCompressionSection As ConfigurationSection = config.GetSection("system.webServer/urlCompression")
urlCompressionSection("doStaticCompression") = True
urlCompressionSection("doDynamicCompression") = False
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var urlCompressionSection = adminManager.GetAdminSection("system.webServer/urlCompression", "MACHINE/WEBROOT/APPHOST/Default Web Site");
urlCompressionSection.Properties.Item("doStaticCompression").Value = true;
urlCompressionSection.Properties.Item("doDynamicCompression").Value = false;
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set urlCompressionSection = adminManager.GetAdminSection("system.webServer/urlCompression", "MACHINE/WEBROOT/APPHOST/Default Web Site")
urlCompressionSection.Properties.Item("doStaticCompression").Value = True
urlCompressionSection.Properties.Item("doDynamicCompression").Value = False
adminManager.CommitChanges()