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 dynamicCompressionBeforeCachefalsch 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 of the Server Roles page with Static Content Compression and Dynamic Content Compression selected. .
  5. Klicken Sie auf der Seite Features auswählen auf Weiter.
  6. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  7. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows 8 oder Windows 8.1

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

Windows Server 2008 oder Windows Server 2008 R2

  1. Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungstools und klicken Sie dann auf Server-Manager.
  2. Erweitern Sie im Hierarchiebereich des Server-Managers die Rollen und klicken Sie dann auf den Webserver (IIS).
  3. Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen.
  4. Wählen Sie auf der Seite Rollendienste auswählen des Assistenten zum Hinzufügen von Rollendiensten die Option DynamischeInhaltskomprimierung aus, wenn Sie die dynamische Komprimierung verwenden möchten, bzw. wählen Sie Statische Inhaltskomprimierung aus, wenn Sie die statische Inhaltskomprimierung installieren möchten. Klicken Sie dann auf Weiter.
    Screenshot of the Add Role Services Wizard with Static Content Compression and Dynamic Content Compression selected.
  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 Systemsteuerungauf Programme und Funktionen und dann auf Windows-Features aktivieren oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste > WWW-Dienste > Leistungsfeatures.
  4. Wählen Sie Dynamische HTTP-Komprimierung aus, wenn Sie die dynamische Komprimierung installieren möchten, bzw. wählen Sie Statische Inhaltskomprimierung aus, wenn Sie die statische Komprimierung installieren möchten.
    Screenshot of the Windows Features dialog with Http Compression Dynamic selected.
  5. Klicken Sie auf OK.

Gewusst wie

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

  1. Öffnen Sie den Internet Information Services (IIS) Manager:

    • Wenn Sie Windows Server 2012 oder 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.
    • 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 Verwaltung und 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 Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
  2. Navigieren Sie im Bereich Verbindungen zu der Verbindung, Site oder dem Verzeichnis, für das Sie die Komprimierung aktivieren möchten.

  3. Doppelklicken Sie im Bereich Start auf Komprimierung.
    Screenshot of the Internet Information Services Manager with Compression selected in the Home pane.

  4. Aktivieren Sie im Bereich Komprimierung die Kontrollkästchen, um die statische oder dynamische Komprimierung zu aktivieren, oder deaktivieren Sie die Kontrollkästchen, um die entsprechende Komprimierung zu deaktivieren.
    Screenshot of the Compression pane with dynamic content compression and static content compression enabled.

  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 den Internet Information Services (IIS) Manager:

    • Wenn Sie Windows Server 2012 oder 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.
    • 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 Verwaltung und 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 Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
  2. Markieren Sie im Bereich Verbindungen den Namen Ihres Servers.

  3. Doppelklicken Sie im Bereich Start des Servers auf Komprimierung.
    Screenshot of the Internet Information Services Manager with Compression selected in the server's Home pane.

  4. Aktivieren Sie im Bereich Komprimierung die Kontrollkästchen, um die statische oder dynamische Komprimierung zu aktivieren, oder deaktivieren Sie die Kontrollkästchen, um die entsprechende Komprimierung zu deaktivieren.
    Screenshot of the server's Compression pane with dynamic content compression and static content compression enabled.

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

Konfigurieren von staticCompressionIgnoreHitFrequency

  1. Öffnen Sie den Internet Information Services (IIS) Manager:

    • Vorgehensweise unter Windows Server 2012 R2:

      • 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 den Internet Information Services (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 of the Configuration Editor pane with static Compression Ignore Hit Frequency set to True.

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