Http.sys registerinställningar för Windows

I den här artikeln beskrivs Http.sys registerinställningar för Windows.

Ursprunglig produktversion: Windows 8, Windows Server 2012, 2008 R2, 2008
Ursprungligt KB-nummer: 820129

Sammanfattning

I Windows Server 2008 och senare versioner är Http.sys drivrutinen i kernelläge som hanterar HTTP-begäranden (Hypertext Transfer Protocol). Flera registervärden kan konfigureras enligt specifika krav. Tabellen i avsnittet Registernycklar innehåller följande information om dessa registervärden:

  • Registernyckelnamn
  • Standardvärden
  • Giltiga värdeintervall
  • Registernyckelfunktioner
  • VARNINGSkoder (i förekommande fall)

Obs!

Se avsnittet Varningskoder för information om potentiella risker när du skapar och konfigurerar registervärden med andra inställningar än standardinställningarna.

Den här artikeln är avsedd för avancerade användare och förutsätter kunskap om registret och de risker som ingår när registret ändras.

Registernycklar

Viktigt

Det här avsnittet, metoden eller uppgiften innehåller steg som beskriver hur du ändrar registret. Det kan uppstå allvarliga problem om du gör detta felaktigt. Följ därför instruktionerna noga, och säkerhetskopiera registret innan du gör några ändringar i det. Då kan du återställa registret om det uppstår problem. Mer information om hur du säkerhetskopierar och återställer registret finns i Hur du säkerhetskopierar och återställer registret i Windows.

Du kan skapa följande DWORD-registervärden under följande registernyckel:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Registernyckel Standardvärdet Giltigt värdeintervall Funktionen Registernyckel VARNINGSkod
AllowRestrictedChars 0 Boolesk Om det inte är noll accepterar Http.sys hex-escape-tecken i url:er för begäran som avkodar till U+0000 – U+001F och U+007F – U+009F-intervall. 0
EnableAggressiveMemoryUsage 0 0
1
Förallokera icke-växlingsbart poolminne. Som standard slutar HTTP-tjänsten att acceptera anslutningar när mindre än 20 MB ledigt minne för icke-växlingspooler är tillgängligt. När du har lagt till det här värdet i registret slutar HTTP-tjänsten att acceptera anslutningar när mindre än 8 MB minne för icke-sidsidig pool är tillgängligt. Om du anger det här registervärdet kan du minska antalet Connections_refused - och 503-fel i Httperr.log-filen . 0
EnableNonUTF8 1 Boolesk Om det är noll accepterar Http.sys endast UTF-8-kodade URL:er. Om det inte är noll accepterar Http.sys även ANSI- eller DBCS-kodade URL:er i begäranden. 0
FavorUTF8 1 Boolesk Om det inte är noll försöker Http.sys alltid avkoda en URL som UTF-8 först. om konverteringen misslyckas och EnableNonUTF8 inte är noll försöker Http.sys sedan avkoda den som ANSI eller DBCS. Om noll (och EnableNonUTF8 inte är noll) försöker Http.sys avkoda det som ANSI eller DBCS. Om det inte lyckas försöker det med en UTF-8-konvertering. 0
MaxBytesPerSend 65536 1 0xFFFFF (byte) Åsidosätter TCP-fönsterstorleken som används av Http.sys. Ett högre värde kan ge högre nedladdningshastigheter i nätverksmiljöer som har hög bandbredd och hög svarstid. 0
Maxconnections MAX_ULONG 1 024 (1 k) – 2031616 anslutningar (2 MB) Åsidosätter MaxConnections beräkningen i drivrutinen. Detta är främst en minnesfunktion. 1
MaxEndpoints 0 0 - 1024 Det maximala antalet aktuella slutpunktsobjekt som tillåts. Standardvärdet noll innebär att det maximala värdet beräknas från tillgängligt minne. 1
MaxFieldLength 16384 64 – 65534 (64k - 2) byte Anger en övre gräns för varje rubrik. Se MaxRequestBytes. Den här gränsen översätts till cirka 32 000 tecken för en URL. 1
MaxRequestBytes 16384 256 – 16777216 byte (16 MB) Avgör den övre gränsen för den totala storleken på raden Begäran och rubrikerna.
Standardinställningen är 16 kB. Om det här värdet är lägre än MaxFieldLengthMaxFieldLength justeras värdet.
1
PercentUAllowed 1 Boolesk Om det inte är noll godkänner Http.sys %uNNNN-notationen i begärande-URL:er. 0
UrlSegmentMaxCount 255 0 – 16 383 segment Maximalt antal URL-sökvägssegment. Om noll begränsas antalet av det maximala värdet för en ULONG. 1
UriEnableCache 1 Boolesk Om det inte är noll aktiveras Http.sys svar och fragmentcache. 0
UriMaxUriBytes 262144 (byte) 4096 (4k) – 16777216 (16 MB) byte Svar som är större än det här värdet cachelagras inte i kernelns svarscache. 1
3
UriScavengerPeriod 120 (sekunder) 10 – 0xFFFFFFFF sekunder Avgör frekvensen för cacherensningen. Svar eller fragment som inte har använts under det antal sekunder som är lika UriScavengerPeriod med rensas. 1
2
UrlSegmentMaxLength 260 0 - 32 766 tecken Maximalt antal tecken i ett URL-sökvägssegment (området mellan snedstrecken i URL:en). Om noll är det längden som begränsas av det maximala värdet för en ULONG. 1
DisableServerHeader 0 0 - 2 Den här nyckeln styr hur http.sys beter sig när det gäller att lägga till http-svarshuvudservern för svar som skickas till klienter. Värdet 0, som är standardvärdet, använder huvudvärdet som programmet tillhandahåller för att http.sys, eller lägger till standardvärdet Microsoft-HTTPAPI/2.0 för i svarshuvudet. Värdet 1 lägger inte till serverhuvudet för svar som genereras av http.sys (svar som slutar på 400, 503 och andra statuskoder). Värdet 2 förhindrar att http.sys lägger till ett serverhuvud i svaret. Om det finns ett serverhuvud i svaret tas det inte bort. Om det inte finns någon kommer den inte att läggas till. 0

Du kan uppleva långsamma prestanda i IIS (Internet Information Services) när ISAPI-program (Internet Server API) eller CGI-program (Common Gateway Interface) som finns i IIS skickar svar. Om det här problemet uppstår kan du lägga till MaxBufferedSendBytes DWORD-värdet i registret.

I Windows Server 2008 och senare versioner kan du också skapa följande DWORD-värde under följande registernyckel:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters

Registernyckel Standardvärdet Giltigt värdeintervall Funktionen Registernyckel VARNINGSkod
CertChainCacheOnlyUrlRetrieval 1 0
1
Som standard följs inte AIA-tipsen under kedjevalidering när IIS har konfigurerats för att använda klientcertifikat. Det här beteendet är av prestanda- och säkerhetsskäl. Det här beteendet kan till exempel hjälpa till att förhindra DoS-attacker. Det här beteendet kan dock också leda till oväntade certifikatavslag när AIA-hämtning behövs. Om du vill åsidosätta det här beteendet kan du ange DWORD-parametern CertChainCacheOnlyUrlRetrieval till 0 (noll) under registernyckeln HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters . Ej tillämpligt

Varningskoder

  • 0: Inga risker.
  • 1: Att ändra registernyckeln anses vara farligt. Den här nyckeln gör att Http.sys använder mer minne och kan öka sårbarheten för skadliga attacker.
  • 2: Ett lågt värde kan göra att cacheminnet rensas oftare. Om det här beteendet inträffar kan det påverka prestandan.
  • 3: Ett lågt värde kan påverka prestanda för statiskt innehåll.

Ändringar som görs i registret börjar inte gälla förrän du startar om HTTP-tjänsten. Dessutom kan du behöva starta om relaterade IIS-tjänster.

Om du vill starta om HTTP-tjänsten skriver du och alla relaterade IIS-tjänster genom att följa dessa steg:

  1. Välj Start, kör, skriv Cmd och välj sedan OK.

  2. Skriv net stop http vid kommandotolken och tryck sedan på Retur.

  3. Skriv net start http vid kommandotolken och tryck sedan på Retur.

  4. Skriv net stop iisadmin /y vid kommandotolken och tryck sedan på Retur.

    Obs!

    Alla IIS-tjänster som är beroende av tjänsten IIS Admin Service stoppas också. Observera de IIS-tjänster som stoppas när du stoppar tjänsten IIS Admin Service. Du startar om varje tjänst i nästa steg.

  5. Starta om de IIS-tjänster som stoppades i steg 4. Det gör du genom att skriva net start servicename i kommandotolken och sedan trycka på Retur. I kommandot är servicename namnet på den tjänst som du vill starta om. Om du till exempel vill starta om tjänsten World Wide Web Publishing Service skriver du net start World Wide Web Publishing Serviceoch trycker sedan på Retur.