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:
Selezionare Start, selezionare Esegui, digitare Cmd e quindi selezionare OK.
Al prompt dei comandi, digitare
net stop http
, quindi premere INVIO.Al prompt dei comandi, digitare
net start http
, quindi premere INVIO.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.
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, digitarenet start World Wide Web Publishing Service
e quindi premere INVIO.