Http.sys impostazioni del Registro di sistema per Windows

Questo articolo descrive Http.sys impostazioni del Registro di sistema per Windows.

Versione originale del prodotto: Windows 8, Windows Server 2012, 2008 R2, 2008
Numero KB originale: 820129

Riepilogo

In Windows Server 2008 e versioni successive Http.sys è il driver in modalità kernel che gestisce le richieste HTTP (Hypertext Transfer Protocol). È possibile configurare diversi valori del Registro di sistema in base a requisiti specifici. La tabella nella sezione Chiavi del Registro di sistema contiene le informazioni seguenti su questi valori del Registro di sistema:

  • Nomi delle chiavi del Registro di sistema
  • Valori predefiniti
  • Intervalli di valori validi
  • Funzioni della chiave del Registro di sistema
  • CODICI DI AVVISO (se applicabile)

Nota

Vedere la sezione Codici di avviso per informazioni sui potenziali rischi durante la creazione e la configurazione di valori del Registro di sistema usando impostazioni diverse dalle impostazioni predefinite.

Questo articolo è destinato agli utenti avanzati e presuppone la conoscenza del Registro di sistema e dei rischi che si verificano quando il Registro di sistema viene modificato.

Chiavi del Registro di sistema

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. In questo modo sarà possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni su come eseguire backup e ripristino del Registro di sistema, vedere Backup e ripristino del Registro di sistema in Windows.

È possibile creare i valori del Registro di sistema DWORD seguenti nella chiave del Registro di sistema seguente:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Chiave del Registro di sistema Valore predefinito Intervallo di valori valido Funzione chiave del Registro di sistema CODICE AVVISO
AllowRestrictedChars 0 Booleano Se diverso da zero, Http.sys accetta caratteri con escape esadecimale negli URL di richiesta che decodificano gli intervalli U+0000 - U+001F e U+007F - U+009F. 0
EnableAggressiveMemoryUsage 0 0
1
Preallocare la memoria del pool non di paging. Per impostazione predefinita, il servizio HTTP smette di accettare connessioni quando sono disponibili meno di 20 megabyte (MB) di memoria del pool non di paging. Dopo aver aggiunto questo valore al Registro di sistema, il servizio HTTP smette di accettare connessioni quando sono disponibili meno di 8 MB di memoria del pool non di paging. L'impostazione di questo valore del Registro di sistema può ridurre il numero di errori Connections_refused e 503 nel file Httperr.log . 0
EnableNonUTF8 1 Booleano Se zero, Http.sys accetta solo URL con codifica UTF-8. Se diverso da zero, Http.sys accetta anche URL con codifica ANSI o DBCS nelle richieste. 0
FavorUTF8 1 Booleano Se diverso da zero, Http.sys tenta sempre di decodificare un URL come UTF-8 per primo; se la conversione ha esito negativo e EnableNonUTF8 non è zero, Http.sys tenta quindi di decodificarla come ANSI o DBCS. Se zero (ed EnableNonUTF8 è diverso da zero), Http.sys prova a decodificarlo come ANSI o DBCS. Se non ha esito positivo, tenta una conversione UTF-8. 0
MaxBytesPerSend 65536 1-0xFFFFF (byte) Esegue l'override delle dimensioni della finestra TCP usate da Http.sys. Un valore superiore può consentire velocità di download più elevate negli ambienti di rete con larghezza di banda elevata e latenza elevata. 0
MaxConnections MAX_ULONG 1024 (1k) - connessioni 2031616 (2 MB) Esegue l'override del MaxConnections calcolo nel driver. Si tratta principalmente di una funzione di memoria. 1
MaxEndpoints 0 0 - 1024 Numero massimo di oggetti endpoint correnti consentiti. Il valore predefinito zero implica che il valore massimo viene calcolato dalla memoria disponibile. 1
MaxFieldLength 16384 64 - 65534 (64k - 2) byte Imposta un limite superiore per ogni intestazione. Vedere MaxRequestBytes. Questo limite si traduce in circa 32.000 caratteri per un URL. 1
MaxRequestBytes 16384 256 - 16777216 (16 MB) byte Determina il limite superiore per le dimensioni totali della riga della richiesta e delle intestazioni.
L'impostazione predefinita è 16 KB. Se questo valore è inferiore a MaxFieldLength, il MaxFieldLength valore viene regolato.
1
PercentUAllowed 1 Booleano Se diverso da zero, Http.sys accetta la notazione % uNNNN negli URL della richiesta. 0
UrlSegmentMaxCount 255 0 - 16.383 segmenti Numero massimo di segmenti di percorso URL. Se zero, il conteggio delimitato dal valore massimo di un ULONGoggetto . 1
UriEnableCache 1 Booleano Se diverso da zero, la risposta Http.sys e la cache dei frammenti sono abilitate. 0
UriMaxUriBytes 262144 (byte) 4096 (4k) - 16777216 (16 MB) byte Qualsiasi risposta maggiore di questo valore non viene memorizzata nella cache della risposta del kernel. 1
3
UriScavengerPeriod 120 (secondi) 10 - 0xFFFFFFFF secondi Determina la frequenza dello scavenger della cache. Qualsiasi risposta o frammento a cui non è stato eseguito l'accesso nel numero di secondi uguale a UriScavengerPeriod viene scaricato. 1
2
UrlSegmentMaxLength 260 0 - 32.766 caratteri Numero massimo di caratteri in un segmento di percorso URL (l'area tra le barre nell'URL). Se zero, è la lunghezza delimitata dal valore massimo di un ULONGoggetto . 1
DisableServerHeader 0 0 - 2 Questa chiave controlla il comportamento http.sys per quanto riguarda l'aggiunta del server di intestazione di risposta HTTP per le risposte inviate ai client. Il valore 0, ovvero il valore predefinito, userà il valore di intestazione fornito dall'applicazione per http.sys oppure aggiungerà il valore predefinito di all'intestazione della Microsoft-HTTPAPI/2.0 risposta. Il valore 1 non aggiungerà l'intestazione Server per le risposte generate da http.sys (risposte che terminano con 400, 503 e altri codici di stato). Il valore 2 impedirà http.sys di aggiungere un'intestazione Server alla risposta. Se un'intestazione server è presente nella risposta, non verrà rimossa, se non è presente, non verrà aggiunta. 0

È possibile che si verifichino prestazioni lente in Internet Information Services (IIS) quando le applicazioni ISAPI (Internet Server API) o le applicazioni CGI (Common Gateway Interface) ospitate nelle risposte di invio IIS. Se si verifica questo problema, è possibile aggiungere il MaxBufferedSendBytes valore DWORD al Registro di sistema.

In Windows Server 2008 e versioni successive è anche possibile creare il valore DWORD seguente nella chiave del Registro di sistema seguente:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters

Chiave del Registro di sistema Valore predefinito Intervallo di valori valido Funzione chiave del Registro di sistema CODICE AVVISO
CertChainCacheOnlyUrlRetrieval 1 0
1
Per impostazione predefinita, gli hint AIA non vengono seguiti durante la convalida della catena quando IIS è configurato per l'uso dei certificati client. Questo comportamento è per motivi di prestazioni e sicurezza. Ad esempio, questo comportamento può aiutare a prevenire gli attacchi DoS. Tuttavia, questo comportamento può anche causare rifiuti imprevisti del certificato quando è necessario il recupero di AIA. Per eseguire l'override di questo comportamento, è possibile impostare il parametro CertChainCacheOnlyUrlRetrieval DWORD su 0 (zero) nella chiave del HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters Registro di sistema. Non applicabile

Codici di avviso

  • 0: Nessun rischio.
  • 1: la modifica di questa chiave del Registro di sistema è considerata pericolosa. Questa chiave fa sì che Http.sys usi più memoria e può aumentare la vulnerabilità agli attacchi dannosi.
  • 2: un valore basso può causare lo scaricamento più frequente della cache. Se si verifica questo comportamento, può influire sulle prestazioni.
  • 3: un valore basso può influire sulle prestazioni per il contenuto statico.

Le modifiche apportate al Registro di sistema non saranno effettive fino al riavvio del servizio HTTP. Potrebbe inoltre essere necessario riavviare tutti i servizi IIS correlati.

Per riavviare il servizio HTTP, digitare e tutti i servizi IIS correlati, seguire questa procedura:

  1. Selezionare Start, selezionare Esegui, digitare Cmd e quindi selezionare OK.

  2. Al prompt dei comandi, digitare net stop http, quindi premere INVIO.

  3. Al prompt dei comandi, digitare net start http, quindi premere INVIO.

  4. Al prompt dei comandi, digitare net stop iisadmin /y, quindi premere INVIO.

    Nota

    Verranno arrestati anche tutti i servizi IIS che dipendono dal servizio IIS Amministrazione. Si noti che i servizi IIS vengono arrestati quando si arresta il servizio IIS Amministrazione Service. Ogni servizio verrà riavviato nel passaggio successivo.

  5. Riavviare i servizi IIS arrestati nel passaggio 4. A tale scopo, digitare net start servicename al prompt dei comandi e quindi premere INVIO. Nel comando nomeservizio è il nome del servizio che si vuole riavviare. Ad esempio, per riavviare il servizio World Wide Web Publishing Service, digitare net start World Wide Web Publishing Servicee quindi premere INVIO.