Http.sys Registrierungseinstellungen für Windows

In diesem Artikel werden Http.sys Registrierungseinstellungen für Windows beschrieben.

Ursprüngliche Produktversion: Windows 8, Windows Server 2012, 2008 R2, 2008
Ursprüngliche KB-Nummer: 820129

Zusammenfassung

In Windows Server 2008 und höheren Versionen ist Http.sys der Kernelmodustreiber, der HTTP-Anforderungen (Hypertext Transfer Protocol) verarbeitet. Mehrere Registrierungswerte können entsprechend bestimmten Anforderungen konfiguriert werden. Die Tabelle im Abschnitt Registrierungsschlüssel enthält die folgenden Informationen zu diesen Registrierungswerten:

  • Namen von Registrierungsschlüsseln
  • Standardwerte
  • Gültige Wertbereiche
  • Registrierungsschlüsselfunktionen
  • WARNUNGscodes (sofern zutreffend)

Hinweis

Informationen zu potenziellen Risiken beim Erstellen und Konfigurieren von Registrierungswerten mit anderen Einstellungen als den Standardeinstellungen finden Sie im Abschnitt Warnungscodes .

Dieser Artikel richtet sich an fortgeschrittene Benutzer und setzt Kenntnisse der Registrierung und der Risiken voraus, die mit einer Änderung der Registrierung verbunden sind.

Registrierungsschlüssel

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher ist es wichtig, bei der Ausführung der folgenden Schritte sorgfältig vorzugehen. Für zusätzlichen Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Sie können die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter Sichern und Wiederherstellen der Registrierung in Windows.

Sie können die folgenden DWORD-Registrierungswerte unter dem folgenden Registrierungsschlüssel erstellen:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Registrierungsschlüssel Standardwert Gültiger Wertbereich Registrierungsschlüsselfunktion WARNUNGScode
AllowRestrictedChars 0 Boolesch Bei einem Wert ungleich 000 akzeptiert Http.sys zeichen mit Hex-Escapezeichen in Anforderungs-URLs, die in die Bereiche U+0000 - U+001F und U+007F - U+009F decodieren. 0
EnableAggressiveMemoryUsage 0 0
1
Vorabspeicher ohne Auslagerung des Pools zuordnen. Standardmäßig akzeptiert der HTTP-Dienst keine Verbindungen mehr, wenn weniger als 20 Megabyte (MB) nicht auslagerungsfähigem Poolspeicher verfügbar sind. Nachdem Sie dieser Wert zur Registrierung hinzugefügt haben, nimmt der HTTP-Dienst keine Verbindungen mehr an, wenn weniger als 8 MB nicht auslagerten Poolspeicher verfügbar sind. Das Festlegen dieses Registrierungswerts kann die Anzahl der Connections_refused - und 503-Fehler in der Httperr.log-Datei verringern. 0
EnableNonUTF8 1 Boolesch Wenn null, akzeptiert Http.sys nur UTF-8-codierte URLs. Wenn nicht null, akzeptiert Http.sys auch ANSI- oder DBCS-codierte URLs in Anforderungen. 0
FavorUTF8 1 Boolesch Wenn nicht null, versucht Http.sys immer zuerst, eine URL als UTF-8 zu decodieren. Wenn diese Konvertierung fehlschlägt und EnableNonUTF8 ungleich null ist, versucht Http.sys dann, sie als ANSI oder DBCS zu decodieren. Wenn null (und EnableNonUTF8 ungleich null) ist, versucht Http.sys, sie als ANSI oder DBCS zu decodieren. Wenn dies nicht erfolgreich ist, versucht es eine UTF-8-Konvertierung. 0
MaxBytesPerSend 65536 1 0xFFFFF (Bytes) Überschreibt die TCP-Fenstergröße, die von Http.sys verwendet wird. Ein höherer Wert kann höhere Downloadgeschwindigkeiten in Netzwerkumgebungen mit hoher Bandbreite und hoher Latenz ermöglichen. 0
Maxconnections MAX_ULONG 1024 (1K) – 2031616 (2 MB) Verbindungen Überschreibt die MaxConnections Berechnung im Treiber. Dies ist in erster Linie eine Funktion des Arbeitsspeichers. 1
MaxEndpoints 0 0 - 1024 Die maximale Anzahl der aktuellen Endpunktobjekte, die zulässig sind. Der Standardwert 0 (null) impliziert, dass das Maximum aus dem verfügbaren Arbeitsspeicher berechnet wird. 1
MaxFieldLength 16384 64 bis 65534 (64.000 bis 2) Bytes Legt eine Obergrenze für jeden Header fest. Weitere Informationen finden Sie unter MaxRequestBytes. Dieser Grenzwert entspricht ungefähr 32.000 Zeichen für eine URL. 1
MaxRequestBytes 16384 256 – 16777216 (16 MB) Byte Bestimmt die Obergrenze für die Gesamtgröße der Anforderungszeile und der Header.
Die Standardeinstellung ist 16 KB. Wenn dieser Wert niedriger als MaxFieldLengthist, wird der MaxFieldLength Wert angepasst.
1
PercentUAllowed 1 Boolesch Bei einem Wert ungleich 0 (null) akzeptiert Http.sys die % uNNNNN-Notation in Anforderungs-URLs. 0
UrlSegmentMaxCount 255 0 - 16.383 Segmente Maximale Anzahl von URL-Pfadsegmenten. Wenn 0 (null) ist, wird die Anzahl durch den Höchstwert eines ULONGbegrenzt. 1
UriEnableCache 1 Boolesch Wenn der Wert ungleich null ist, werden die Http.sys Antwort und der Fragmentcache aktiviert. 0
UriMaxUriBytes 262144 (Bytes) 4096 (4K) – 16777216 (16 MB) Byte Jede Antwort, die größer als dieser Wert ist, wird nicht im Kernelantwortcache zwischengespeichert. 1
3
UriScavengerPeriod 120 (Sekunden) 10 – 0xFFFFFFFF Sekunden Bestimmt die Häufigkeit des Cache-Scavengers. Alle Antworten oder Fragmente, auf die nicht in sekundengleichem Wert zugegriffen wurde, UriScavengerPeriod werden geleert. 1
2
UrlSegmentMaxLength 260 0 - 32.766 Zeichen Maximale Anzahl von Zeichen in einem URL-Pfadsegment (der Bereich zwischen den Schrägstrichen in der URL). Wenn 0 (null) ist, ist dies die Länge, die durch den Maximalwert eines ULONGbegrenzt wird. 1
DisableServerHeader 0 0–2 Dieser Schlüssel steuert, wie sich http.sys beim Anfügen des HTTP-Antwortheaderservers für Antworten, die er an Clients sendet, verhält. Der Standardwert 0 verwendet den Headerwert, den die Anwendung für http.sys bereitstellt, oder fügt den Standardwert von Microsoft-HTTPAPI/2.0 an den Antwortheader an. Der Wert 1 fügt den Serverheader nicht für Antworten an, die von http.sys generiert werden (Antworten mit 400, 503 und anderen status Codes). Der Wert 2 verhindert, dass http.sys einen Serverheader an die Antwort anfügen. Wenn in der Antwort ein Serverheader vorhanden ist, wird er nicht entfernt. Wenn kein Header vorhanden ist, wird er nicht hinzugefügt. 0

Es kann zu einer langsamen Leistung in Internetinformationsdiensten (IIS) kommen, wenn ISAPI-Anwendungen (Internet Server API) oder CGI-Anwendungen (Common Gateway Interface), die in IIS gehostet werden, Antworten senden. Wenn dieses Problem aufgetreten ist, können Sie den MaxBufferedSendBytes DWORD-Wert zur Registrierung hinzufügen.

In Windows Server 2008 und höheren Versionen können Sie auch den folgenden DWORD-Wert unter dem folgenden Registrierungsschlüssel erstellen:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters

Registrierungsschlüssel Standardwert Gültiger Wertbereich Registrierungsschlüsselfunktion WARNUNGScode
CertChainCacheOnlyUrlRetrieval 1 0
1
Standardmäßig werden die AIA-Hinweise bei der Kettenüberprüfung nicht befolgt, wenn IIS für die Verwendung von Clientzertifikaten konfiguriert ist. Dieses Verhalten erfolgt aus Leistungs- und Sicherheitsgründen. Dieses Verhalten kann beispielsweise dazu beitragen, DoS-Angriffe zu verhindern. Dieses Verhalten kann jedoch auch zu unerwarteten Zertifikatsverweigerungen führen, wenn ein AIA-Abruf erforderlich ist. Um dieses Verhalten zu überschreiben, können Sie den DWORD-Parameter CertChainCacheOnlyUrlRetrieval unter dem HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters Registrierungsschlüssel auf 0 (null) festlegen. Nicht zutreffend

Warnungscodes

  • 0: Keine Risiken.
  • 1: Das Ändern dieses Registrierungsschlüssels gilt als gefährlich. Dieser Schlüssel führt dazu, dass Http.sys mehr Arbeitsspeicher verwenden und die Sicherheitsrisiken für böswillige Angriffe erhöhen können.
  • 2: Ein niedriger Wert kann dazu führen, dass der Cache häufiger geleert wird. Wenn dieses Verhalten auftritt, kann sich dies auf die Leistung auswirken.
  • 3: Ein niedriger Wert kann sich auf die Leistung für statische Inhalte auswirken.

Änderungen, die an der Registrierung vorgenommen werden, werden erst wirksam, wenn Sie den HTTP-Dienst neu starten. Darüber hinaus müssen Sie möglicherweise alle zugehörigen IIS-Dienste neu starten.

Führen Sie die folgenden Schritte aus, um den HTTP-Dienst und alle zugehörigen IIS-Dienste neu zu starten:

  1. Wählen Sie Start aus, wählen Sie Ausführen aus, geben Sie Cmd ein, und wählen Sie dann OK aus.

  2. Geben Sie an der Eingabeaufforderung net stop http ein, und drücken Sie die Eingabetaste.

  3. Geben Sie an der Eingabeaufforderung net start http ein, und drücken Sie die Eingabetaste.

  4. Geben Sie an der Eingabeaufforderung net stop iisadmin /y ein, und drücken Sie die Eingabetaste.

    Hinweis

    Alle IIS-Dienste, die vom IIS Admin Service-Dienst abhängig sind, werden ebenfalls beendet. Beachten Sie die IIS-Dienste, die beendet werden, wenn Sie den IIS-Admin-Dienst beenden. Sie starten jeden Dienst im nächsten Schritt neu.

  5. Starten Sie die IIS-Dienste neu, die in Schritt 4 beendet wurden. Geben Sie dazu an der Eingabeaufforderung ein net start servicename , und drücken Sie dann die EINGABETASTE. Im Befehl ist servicename der Name des Diensts, den Sie neu starten möchten. Wenn Sie z. B. den Dienst für den Veröffentlichungsdienst von World Wide Web neu starten möchten, geben Sie ein net start World Wide Web Publishing Service, und drücken Sie dann die EINGABETASTE.