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öher ist Http.sys der Kernelmodustreiber, der HTTP-Anforderungen (Hypertext Transfer Protocol) verarbeitet. Mehrere Registrierungswerte können gemäß 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 Wertebereiche
  • Registrierungsschlüsselfunktionen
  • WARNcodes (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 geht von Kenntnissen über die Registrierung und die Risiken aus, die beim Ändern 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 Wenn der Wert ungleich Null ist, akzeptiert Http.sys Hexadezimalzeichen in Anforderungs-URLs, die U+0000 -U+001F- und U+007F-U+009F-Bereiche decodieren. 0
EnableAggressiveMemoryUsage 0 0
1
Vorabspeichern von nicht ausgegebenen Pools. Standardmäßig akzeptiert der HTTP-Dienst keine Verbindungen mehr, wenn weniger als 20 MEGABYTE (MB) nicht mehr ausgegebener Poolspeicher verfügbar sind. Nachdem Sie diesen Wert zur Registrierung hinzugefügt haben, akzeptiert der HTTP-Dienst keine Verbindungen mehr, wenn weniger als 8 MB Nicht-Poolspeicher verfügbar sind. Das Festlegen dieses Registrierungswerts kann die Anzahl der Connections_refused und 503 Fehler in der Datei "Httperr.log " verringern. 0
EnableNonUTF8 1 Boolesch Bei Null akzeptiert Http.sys nur UTF-8-codierte URLs. Wenn dieser Wert nicht null ist, akzeptiert Http.sys auch ANSI- oder DBCS-codierte URLs in Anforderungen. 0
FavorUTF8 1 Boolesch Wenn der Wert ungleich Null ist, versucht Http.sys immer zuerst, eine URL als UTF-8 zu decodieren. wenn diese Konvertierung fehlschlägt und EnableNonUTF8 nicht null ist, versucht Http.sys, sie als ANSI oder DBCS zu decodieren. Wenn null (und EnableNonUTF8 ungleich Null) ist, versucht Http.sys, es als ANSI oder DBCS zu decodieren. Wenn dies nicht erfolgreich ist, wird eine UTF-8-Konvertierung versucht. 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 zulässigen aktuellen Endpunktobjekte. Der Standardwert 0 impliziert, dass das Maximum aus dem verfügbaren Arbeitsspeicher berechnet wird. 1
Maxfieldlength 16384 64 - 65534 (64k - 2) Bytes Legt eine Obergrenze für jede Kopfzeile fest. Weitere Informationen finden Sie unter MaxRequestBytes. Dieser Grenzwert führt zu ca. 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 Kopfzeilen.
Die Standardeinstellung ist 16 KB. Wenn dieser Wert niedriger als MaxFieldLengthist, wird der MaxFieldLength Wert angepasst.
1
PercentUAllowed 1 Boolesch Wenn dieser Wert nicht null ist, akzeptiert Http.sys die %uNNNN-Notation in Anforderungs-URLs. 0
UrlSegmentMaxCount 255 0 - 16.383 Segmente Maximale Anzahl von URL-Pfadsegmenten. Wenn Null ist, wird die Anzahl durch den Maximalwert einer ULONG. 1
UriEnableCache 1 Boolesch Wenn der Wert ungleich Null ist, sind die Http.sys Antwort- und Fragmentcache aktiviert. 0
UriMaxUriBytes 262144 (Bytes) 4096 (4k) – 16777216 (16 MB) Byte Alle Antworten, die größer als dieser Wert sind, werden nicht im Kernelantwortcache zwischengespeichert. 1
3
UriScavengerPeriod 120 (Sekunden) 10 – 0xFFFFFFFF Sekunden Bestimmt die Häufigkeit des Cacheaufräumens. Alle Antworten oder Fragmente, auf die in sekundengleich nicht 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 Null ist, ist dies die Länge, die durch den Maximalwert einer ULONG. 1
DisableServerHeader 0 0–2 Dieser Schlüssel steuert, wie sich http.sys im Hinblick auf das Anfügen des HTTP-Antwortheaderservers für Antworten verhält, die an Clients gesendet werden. Der Standardwert 0 verwendet den Headerwert, den die Anwendung an http.sys bereitstellt, oder fügt den Standardwert an Microsoft-HTTPAPI/2.0 den Antwortheader an. Der Wert 1 fügt den Serverheader nicht für Antworten an, die von http.sys generiert werden (Antworten, die auf 400, 503 und andere Statuscodes enden). Der Wert 2 verhindert, dass http.sys einen Serverheader an die Antwort anfügen. Wenn ein Serverheader in der Antwort vorhanden ist, wird er nicht entfernt, wenn er nicht vorhanden ist, wird er nicht hinzugefügt. 0

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

In Windows Versionen von Server 2008 und höher 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 während der Chain Validation nicht befolgt, wenn IIS für die Verwendung von Clientzertifikaten konfiguriert ist. Dieses Verhalten ist aus Leistungs- und Sicherheitsgründen. Dieses Verhalten kann beispielsweise dazu beitragen, DoS-Angriffe zu verhindern. Dieses Verhalten kann jedoch auch zu unerwarteten Zertifikatverweigerungen 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 wird als gefährlich betrachtet. Dieser Schlüssel führt dazu, dass Http.sys mehr Arbeitsspeicher nutzen und die Sicherheitslücke gegenüber böswilligen Angriffen erhöhen kann.
  • 2: Ein niedriger Wert kann dazu führen, dass der Cache häufiger geleert wird. Wenn dieses Verhalten auftritt, kann dies die Leistung beeinträchtigen.
  • 3: Ein niedriger Wert kann sich auf die Leistung statischer 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 neu zu starten, den Typ und alle zugehörigen IIS-Dienste einzugeben:

  1. Wählen Sie "Start", " 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-Administratordienst abhängen, werden ebenfalls beendet. Beachten Sie die IIS-Dienste, die beendet werden, wenn Sie den IIS-Administratordienst 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 net start servicename dazu an der Eingabeaufforderung ein, und drücken Sie dann die EINGABETASTE. In the command, servicename is the name of the service that you want to restart. Wenn Sie z. B. den World Wide Web Publishing Service neu starten möchten, geben Sie die EINGABETASTE net start World Wide Web Publishing Serviceein, und drücken Sie die EINGABETASTE.