Http.sys configuración del Registro para Windows
En este artículo se describe Http.sys configuración del Registro para Windows.
Versión original del producto: Windows 8, Windows Server 2012, 2008 R2, 2008
Número de KB original: 820129
Resumen
En Windows Server 2008 y versiones posteriores, Http.sys es el controlador de modo kernel que controla las solicitudes del Protocolo de transferencia de hipertexto (HTTP). Se pueden configurar varios valores del Registro según los requisitos específicos. La tabla de la sección Claves del Registro contiene la siguiente información sobre estos valores del Registro:
- Nombres de clave del Registro
- Valores predeterminados
- Intervalos de valores válidos
- Funciones de clave del Registro
- Códigos DE ADVERTENCIA (si procede)
Nota:
Consulte la sección Códigos de advertencia para obtener información sobre los posibles riesgos al crear y configurar valores del Registro mediante la configuración distinta de la configuración predeterminada.
Este artículo está pensado para usuarios avanzados y asume el conocimiento del registro y de los riesgos que intervienen cuando se cambia el registro.
Claves del Registro
Importante
Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. Por lo tanto, asegúrese de que sigue estos pasos con atención. Para la protección añadida, realice una copia de seguridad del Registro antes de modificarlo. A continuación, puede restaurar el Registro si se produce un problema. Para obtener más información sobre cómo realizar copias de seguridad y restaurar el registro, vea Cómo hacer copia de seguridad y restaurar el registro en Windows.
Puede crear los siguientes valores del Registro DWORD en la siguiente clave del Registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Clave del Registro | Valor predeterminado | Intervalo de valores válido | Función de clave del Registro | Código DE ADVERTENCIA |
---|---|---|---|---|
AllowRestrictedChars | 0 | Booleano | Si no es cero, Http.sys acepta caracteres con escape hexadecimal en las direcciones URL de solicitud que descodifican en intervalos U+0000 - U+001F y U+007F - U+009F. | 0 |
EnableAggressiveMemoryUsage | 0 | 0 1 |
Asignación previa de la memoria de grupo no paginada. De forma predeterminada, el servicio HTTP deja de aceptar conexiones cuando hay menos de 20 megabytes (MB) de memoria del grupo no paginado disponible. Después de agregar este valor al Registro, el servicio HTTP deja de aceptar conexiones cuando hay menos de 8 MB de memoria del grupo no paginado disponible. Establecer este valor del Registro puede reducir el número de errores de Connections_refused y 503 en el archivo Httperr.log . | 0 |
EnableNonUTF8 | 1 | Booleano | Si es cero, Http.sys solo acepta direcciones URL con codificación UTF-8. Si no es cero, Http.sys también acepta direcciones URL codificadas con ANSI o DBCS en las solicitudes. | 0 |
FavorUTF8 | 1 | Booleano | Si no es cero, Http.sys siempre intenta descodificar una dirección URL como UTF-8 primero; si se produce un error en esa conversión y EnableNonUTF8 no es cero, Http.sys intenta descodificarla como ANSI o DBCS. Si cero (y EnableNonUTF8 no es cero), Http.sys intenta descodificarlo como ANSI o DBCS; si no es correcto, intenta una conversión UTF-8. |
0 |
MaxBytesPerSend | 65536 | 1-0xFFFFF (bytes) | Invalida el tamaño de la ventana TCP que usa Http.sys. Un valor mayor puede permitir velocidades de descarga más altas en entornos de red que tienen un ancho de banda alto y una latencia alta. | 0 |
MaxConnections | MAX_ULONG | 1024 (1k): conexiones de 2031616 (2 MB) | Invalida el MaxConnections cálculo en el controlador. Se trata principalmente de una función de la memoria. |
1 |
MaxEndpoints | 0 | 0 - 1024 | Número máximo de objetos de punto de conexión actuales permitidos. El valor predeterminado de cero implica que el máximo se calcula a partir de la memoria disponible. | 1 |
MaxFieldLength | 16384 | 64 - 65534 (64k - 2) bytes | Establece un límite superior para cada encabezado. Vea MaxRequestBytes . Este límite son aproximadamente 32 000 caracteres para una dirección URL. |
1 |
MaxRequestBytes | 16384 | 256 - 16777216 (16 MB) bytes | Determina el límite superior para el tamaño total de la línea Solicitud y los encabezados. Su valor predeterminado es de 16 KB. Si este valor es menor que MaxFieldLength , el MaxFieldLength valor se ajusta. |
1 |
PercentUAllowed | 1 | Booleano | Si no es cero, Http.sys acepta la notación % uNNNN en las direcciones URL de solicitud. | 0 |
UrlSegmentMaxCount | 255 | 0 - 16 383 segmentos | Número máximo de segmentos de ruta de acceso url. Si es cero, el recuento limitado por el valor máximo de .ULONG |
1 |
UriEnableCache | 1 | Booleano | Si no es cero, se habilitan la respuesta Http.sys y la caché de fragmentos. | 0 |
UriMaxUriBytes | 262144 (bytes) | 4096 (4k): 16777216 (16 MB) bytes | Cualquier respuesta que sea mayor que este valor no se almacena en caché en la caché de respuestas del kernel. | 1
3 |
UriScavengerPeriod | 120 (segundos) | 10 - 0xFFFFFFFF segundos | Determina la frecuencia del scavenger de caché. Se vacía cualquier respuesta o fragmento al que no se haya accedido en el número de segundos igual a UriScavengerPeriod . |
1 2 |
UrlSegmentMaxLength | 260 | 0 - 32 766 caracteres | Número máximo de caracteres en un segmento de ruta de acceso url (el área entre las barras diagonales de la dirección URL). Si es cero, es la longitud enlazada por el valor máximo de .ULONG |
1 |
DisableServerHeader | 0 | 0 - 2 | Esta clave controla cómo se comporta http.sys con respecto a anexar el encabezado de respuesta HTTP Server para las respuestas que envía a los clientes. Un valor de 0, que es el valor predeterminado, usará el valor de encabezado que proporciona la aplicación para http.sys, o anexará el valor predeterminado del al encabezado de Microsoft-HTTPAPI/2.0 respuesta. Un valor de 1 no anexará el encabezado Server para las respuestas generadas por http.sys (respuestas que terminan en 400, 503 y otros códigos de estado). Un valor de 2 impedirá que http.sys anexe un encabezado Server a la respuesta. Si hay un encabezado de servidor presente en la respuesta, no se quitará, si no hay uno presente, no se agregará. |
0 |
Puede experimentar un rendimiento lento en Internet Information Services (IIS) cuando las aplicaciones de la API de Internet Server (ISAPI) o las aplicaciones de interfaz de puerta de enlace común (CGI) hospedadas en IIS envían respuestas. Si experimenta este problema, puede agregar el MaxBufferedSendBytes
valor DWORD al Registro.
En Windows Server 2008 y versiones posteriores, también puede crear el siguiente valor DWORD en la siguiente clave del Registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters
Clave del Registro | Valor predeterminado | Intervalo de valores válido | Función de clave del Registro | Código DE ADVERTENCIA |
---|---|---|---|---|
CertChainCacheOnlyUrlRetrieval | 1 | 0 1 |
De forma predeterminada, las sugerencias de AIA no se siguen durante la validación de la cadena cuando IIS está configurado para usar certificados de cliente. Este comportamiento es por motivos de rendimiento y seguridad. Por ejemplo, este comportamiento puede ayudar a evitar ataques DoS. Sin embargo, este comportamiento también puede provocar rechazos inesperados de certificados cuando se necesita la recuperación de AIA. Para invalidar este comportamiento, puede establecer el parámetro CertChainCacheOnlyUrlRetrieval DWORD en 0 (cero) en la clave del HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters Registro. |
No aplicable |
Códigos de advertencia
- 0: Sin riesgos.
- 1: El cambio de esta clave del Registro se considera peligroso. Esta clave hace que Http.sys usen más memoria y pueden aumentar la vulnerabilidad a ataques malintencionados.
- 2: Un valor bajo puede hacer que la memoria caché se vacíe con más frecuencia. Si se produce este comportamiento, puede afectar al rendimiento.
- 3: Un valor bajo puede afectar al rendimiento del contenido estático.
Los cambios realizados en el Registro no surtirán efecto hasta que reinicie el servicio HTTP. Además, es posible que tenga que reiniciar cualquier servicio IIS relacionado.
Para reiniciar el servicio HTTP, escriba y todos los servicios IIS relacionados, siga estos pasos:
Seleccione Iniciar, seleccione Ejecutar, escriba Cmd y, a continuación, seleccione Aceptar.
En el símbolo del sistema, escriba
net stop http
y presione Entrar.En el símbolo del sistema, escriba
net start http
y presione Entrar.En el símbolo del sistema, escriba
net stop iisadmin /y
y presione Entrar.Nota:
También se detendrán todos los servicios de IIS que dependan del servicio de administración de IIS. Observe los servicios de IIS que se detienen al detener el servicio de servicio de administración de IIS. Reiniciará cada servicio en el paso siguiente.
Reinicie los servicios IIS que se detuvo en el paso 4. Para ello, escriba
net start servicename
en el símbolo del sistema y presione Entrar. En el comando, servicename es el nombre del servicio que desea reiniciar. Por ejemplo, para reiniciar el servicio World Wide Web Publishing Service, escribanet start World Wide Web Publishing Service
y presione Entrar.