Freigeben über


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:
  • DoStaticCompression
  • DoDynamicCompression
  • HcDoOnDemandCompression

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 der Seite .
  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 Starttaste 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 des Dialogfelds
  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 des Server-Managers die Rollenund klicken Sie dann auf den Webserver (IIS) .
  3. Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienstehinzufügen.
  4. 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".
    Screenshot des Assistenten zum Hinzufügen von Rollendiensten mit ausgewählter Komprimierung statischer Inhalte und dynamischer Inhaltskomprimierung.
  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 des Dialogfelds
  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):

    • 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).
  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 des Internetinformationsdienste Managers mit ausgewählter Komprimierung im Startbereich.

  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 des Komprimierungsbereichs mit aktivierter Komprimierung dynamischer Inhalte und aktivierter komprimierter statischer Inhalte.

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

    • 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).
  2. Markieren Sie im Bereich Verbindungen den Namen Ihres Servers.

  3. Doppelklicken Sie im Bereich Start des Servers auf Komprimierung.
    Screenshot des Internetinformationsdienste-Managers mit ausgewählter Komprimierung im Startbereich des Servers.

  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 des Komprimierungsbereichs des Servers mit aktivierter Komprimierung dynamischer Inhalte und aktivierter statischer Inhaltskomprimierung.

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

Konfigurieren von „staticCompressionIgnoreHitFrequency“

  1. Ö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).
  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 des Bereichs

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