Http.sys Registrierungseinstellungen für Windows
In diesem Artikel werden Http.sys Registrierungseinstellungen für Windows beschrieben.
Originalproduktversion: 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 Wertebereiche
- Registrierungsschlüsselfunktionen
- WARNUNGscodes (sofern zutreffend)
Notiz
Im Abschnitt "Warnungscodes" finden Sie Informationen zu potenziellen Risiken, wenn Sie Registrierungswerte mithilfe anderer Einstellungen als der Standardeinstellungen erstellen und konfigurieren.
Dieser Artikel richtet sich an erweiterte Benutzer und geht von Kenntnissen der Registrierung und der Risiken aus, die beim Ändern der Registrierung beteiligt 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 müssen Sie sicherstellen, dass Sie diese Schritte sorgfältig ausführen. Für weiteren Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Anschließend können Sie die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter: Sichern und Wiederherstellen der Registrierung 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 | Boolean | Wenn "nonzero" akzeptiert Http.sys Hex-Escape-Zeichen in Anforderungs-URLs, die U+0000 - U+001F und U+007F - U+009F-Bereiche decodieren. | 0 |
EnableAggressiveMemoryUsage | 0 | 0 1 |
Vorabspeicher für nicht ausseitigen Pool. Standardmäßig akzeptiert der HTTP-Dienst nicht mehr Verbindungen, wenn weniger als 20 MB nicht seitenseitiger 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 Nichtseitenpoolspeicher verfügbar ist. Das Festlegen dieses Registrierungswerts kann die Anzahl der Connections_refused und 503 Fehler in der Httperr.log Datei verringern. | 0 |
EnableNonUTF8 | 1 | Boolean | Wenn Null, akzeptiert Http.sys nur UTF-8-codierte URLs. Wenn "nonzero" akzeptiert Http.sys auch ANSI- oder DBCS-codierte URLs in Anforderungen. | 0 |
FavorUTF8 | 1 | Boolean | Wenn nonzero, versucht Http.sys immer, eine URL als UTF-8 zuerst 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 nicht null) ist, versucht Http.sys, sie als ANSI oder DBCS zu decodieren. Wenn dies nicht erfolgreich ist, versucht sie 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 | Setzt die MaxConnections Berechnung im Treiber außer Kraft. Dies ist in erster Linie eine Funktion des Arbeitsspeichers. |
1 |
MaxEndpoints | 0 | 0 - 1024 | Die maximale Anzahl der zulässigen aktuellen Endpunktobjekte. Der Standardwert von Null impliziert, dass das Maximum aus dem verfügbaren Arbeitsspeicher berechnet wird. | 1 |
MaxFieldLength | 16384 | 64 - 65534 (64k - 2) Bytes | Legt einen oberen Grenzwert für jede Kopfzeile fest. Siehe MaxRequestBytes . Dieser Grenzwert wird für eine URL auf ungefähr 32k Zeichen übersetzt. |
1 |
MaxRequestBytes | 16384 | 256 - 16777216 (16 MB) Bytes | Bestimmt die obere Grenze für die Gesamtgröße der Anforderungszeile und der Kopfzeilen. Die Standardeinstellung ist 16 KB. Wenn dieser Wert niedriger als MaxFieldLength ist, wird der MaxFieldLength Wert angepasst. |
1 |
PercentUAllowed | 1 | Boolean | Wenn "nonzero" akzeptiert Http.sys die %uNNNN-Notation in Anforderungs-URLs. | 0 |
UrlSegmentMaxCount | 255 | 0 - 16.383 Segmente | Maximale Anzahl von URL-Pfadsegmenten. Wenn 0, die Anzahl, die durch den Maximalwert eines .ULONG |
1 |
UriEnableCache | 1 | Boolean | Wenn "nonzero" aktiviert ist, werden der Http.sys Antwort- und Fragmentcache aktiviert. | 0 |
UriMaxUriBytes | 262144 (Bytes) | 4096 (4k) - 16777216 (16 MB) Bytes | 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-Gerüsts. Alle Antworten oder Fragmente, auf die nicht in der Anzahl von Sekunden 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, ist die Länge, die durch den Maximalwert eines .ULONG |
1 |
DisableServerHeader | 0 | 0–2 | Dieser Schlüssel steuert, wie sich http.sys im Hinblick auf das Anfügen des HTTP-Antwortheaders für Antworten, die er an Clients sendet, verhält. Ein Wert von 0, der der Standardwert ist, verwendet den Headerwert, den die Anwendung für http.sys bereitstellt, oder fügt den Standardwert des Microsoft-HTTPAPI/2.0 Antwortheaders 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). Ein Wert von 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 Internet Server-API-Anwendungen (ISAPI)-Anwendungen oder CGI-Anwendungen (Common Gateway Interface), die auf IIS-Sendeantworten gehostet werden. Wenn dieses Problem aufgetreten ist, können Sie der Registrierung den MaxBufferedSendBytes
DWORD-Wert 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 während der Kettenüberprüfung nicht befolgt, wenn IIS für die Verwendung von Clientzertifikaten konfiguriert ist. Dieses Verhalten liegt 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 außer Kraft zu setzen, 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 |
Warncodes
- 0: Keine Risiken.
- 1: Das Ändern dieses Registrierungsschlüssels gilt als gefährlich. Dieser Schlüssel bewirkt, dass Http.sys mehr Arbeitsspeicher verwenden und die Sicherheitsanfälligkeit an 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 es sich 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 neu zu starten, geben Sie und alle zugehörigen IIS-Dienste ein:
Wählen Sie "Start" aus, wählen Sie "Ausführen", geben Sie "Cmd" ein, und wählen Sie dann "OK" aus.
Geben Sie an der Eingabeaufforderung
net stop http
ein, und drücken Sie die Eingabetaste.Geben Sie an der Eingabeaufforderung
net start http
ein, und drücken Sie die Eingabetaste.Geben Sie an der Eingabeaufforderung
net stop iisadmin /y
ein, und drücken Sie die Eingabetaste.Notiz
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.
Starten Sie die IIS-Dienste neu, die in Schritt 4 beendet wurden. Geben Sie
net start servicename
dazu die Eingabeaufforderung ein, und drücken Sie dann die EINGABETASTE. Im Befehl ist der Dienstname der Name des Diensts, den Sie neu starten möchten. Um z. B. den World Wide Web Publishing Service-Dienst neu zu starten, geben Sienet start World Wide Web Publishing Service
ein, und drücken Sie dann die EINGABETASTE.