Condividi tramite


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 chiave del Registro di sistema
  • Codici DI AVVISO (ove applicabile)

Note

Vedere la sezione Codici di avviso per informazioni sui potenziali rischi quando si creano e si configurano i 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 coinvolti 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. Se, tuttavia, si modifica il Registro di sistema in modo errato, possono verificarsi gravi problemi. Pertanto, assicurarsi di osservare attentamente la procedura seguente. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. Successivamente, è possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni su come eseguire il backup e il ripristino del Registro di sistema, vedi Come eseguire il backup e il 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 Default value Intervallo di valori valido Funzione chiave del Registro di sistema Codice AVVISO
AllowRestrictedChars 0 Boolean Se diverso da zero, Http.sys accetta caratteri di escape esadecimale negli URL delle richieste che decodificano negli 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 interrompe l'accettazione delle 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 le 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 Boolean Se zero, Http.sys accetta solo GLI URL con codifica UTF-8. Se diverso da zero, Http.sys accetta anche URL con codifica ANSI o DBCS nelle richieste. 0
FavorUTF8 1 Boolean 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 è uguale a zero, Http.sys tenta di decodificarla come ANSI o DBCS. Se zero (e EnableNonUTF8 è diverso da zero), Http.sys tenta di decodificarlo come ANSI o DBCS. In caso contrario, prova una conversione UTF-8. 0
MaxBytesPersend 65536 1-0xFFFFF (byte) Esegue l'override delle dimensioni della finestra TCP utilizzate da Http.sys. Un valore superiore può consentire una maggiore velocità di download 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 pari a 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 Richiesta e delle intestazioni.
L'impostazione predefinita è 16 KB. Se questo valore è inferiore a MaxFieldLength, il MaxFieldLength valore viene modificato.
1
PercentUAllowed 1 Boolean 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 oggetto ULONG. 1
UriEnableCache 1 Boolean 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 delle risposte 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 (area tra le barre nell'URL). Se zero, è la lunghezza vincolata dal valore massimo di un oggetto ULONG. 1
DisableServerHeader 0 0 - 2 Questa chiave controlla il comportamento http.sys per quanto riguarda l'aggiunta dell'intestazione di risposta HTTP Server 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 Microsoft-HTTPAPI/2.0 all'intestazione della 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 accodare un'intestazione server alla risposta. Se nella risposta è presente un'intestazione server, non verrà rimossa, se non presente, non verrà aggiunta. 0

È possibile riscontrare prestazioni lente in Internet Information Services (IIS) quando le applicazioni ISAPI (Internet Server API) o le applicazioni CGI (Common Gateway Interface) ospitate in IIS inviano risposte. 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 Default value 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 causa Http.sys usare più memoria e può aumentare la vulnerabilità agli attacchi dannosi.
  • 2: Un valore basso può causare lo scaricamento della cache più frequentemente. Se questo comportamento si verifica, può influire sulle prestazioni.
  • 3: un valore basso può influire sulle prestazioni per il contenuto statico.

Le modifiche apportate al Registro di sistema non verranno applicate fino al riavvio del servizio HTTP. Inoltre, potrebbe 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.

    Note

    Tutti i servizi IIS che dipendono dal servizio amministrazione IIS verranno arrestati anche. Si notino i servizi IIS arrestati quando si arresta il servizio amministrazione IIS. 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 da riavviare. Ad esempio, per riavviare il servizio World Wide Web Publishing Service, digitare net start World Wide Web Publishing Servicee quindi premere INVIO.