Http.sys configuración del Registro para Windows
En este artículo se describe Http.sys configuración del Registro para Windows.
Versión del producto original: Windows 8, Windows Server 2012, 2008 R2, 2008
Número 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 de acuerdo con 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 clave del Registro
- Códigos DE ADVERTENCIA (cuando corresponda)
Nota
Vea la sección Códigos de advertencia para obtener información sobre los posibles riesgos al crear y configurar valores del Registro mediante opciones que no son las opciones predeterminadas.
Este artículo está dirigido a usuarios avanzados y supone el conocimiento del registro y de los riesgos que conlleva el cambio del 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. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Para mayor protección, cree una copia de seguridad del registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información sobre cómo hacer una copia de seguridad del Registro y cómo restaurarlo, consulte Cómo realizar una copia de seguridad del Registro y restaurarlo 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 clave del Registro | Código WARNING |
|---|---|---|---|---|
| AllowRestrictedChars | 0 | Boolean | Si es distinto de cero, Http.sys acepta caracteres de escape hexadecimal en las direcciones URL de solicitud que descodifican a U+0000- U+001F y U+007F: rangos U+009F. | 0 |
| EnableAggressiveMemoryUsage | 0 | 0 1 |
Preallocar memoria de grupo no con página. De forma predeterminada, el servicio HTTP deja de aceptar conexiones cuando hay disponible menos de 20 megabytes (MB) de memoria de grupo sin página. Después de agregar este valor al Registro, el servicio HTTP deja de aceptar conexiones cuando hay disponible menos de 8 MB de memoria de grupo sin página. Establecer este valor del Registro puede reducir el número de Connections_refused y 503 errores en el archivo Httperr.log . | 0 |
| EnableNonUTF8 | 1 | Booleano | Si es cero, Http.sys solo acepta direcciones URL con codificación UTF-8. Si es distinto de cero, Http.sys también acepta direcciones URL con codificación ANSI o DBCS en las solicitudes. | 0 |
| FavorUTF8 | 1 | Booleano | Si es distinto de cero, Http.sys siempre intenta descodificar una dirección URL como UTF-8 primero; si se produce un error en la EnableNonUTF8 conversión y no es cero, Http.sys luego intenta descodificarlo como ANSI o DBCS. Si es cero (y EnableNonUTF8 es distinto de cero), Http.sys intenta descodificarlo como ANSI o DBCS; si no se realiza correctamente, 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 más alto puede permitir velocidades de descarga más altas en entornos de red con ancho de banda alto y alta latencia. | 0 |
| MaxConnections | MAX_ULONG | 1024 (1k): conexiones 2031616 (2 MB) | Invalida el cálculo MaxConnections en el controlador. Se trata principalmente de una función de memoria. |
1 |
| MaxEndpoints | 0 | 0 - 1024 | Número máximo de objetos de extremo 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. Consulte MaxRequestBytes. Este límite se traduce en aproximadamente 32k caracteres para una dirección URL. |
1 |
| MaxRequestBytes | 16384 | 256: 16777216 bytes (16 MB) | Determina el límite superior para el tamaño total de la línea de solicitud y los encabezados. Su configuración predeterminada es de 16 KB. Si este valor es menor que MaxFieldLength, el MaxFieldLength valor se ajusta. |
1 |
| PercentUAllowed | 1 | Booleano | Si es distinto de 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 dirección URL. Si es cero, el recuento delimitado por el valor máximo de un ULONG. |
1 |
| UriEnableCache | 1 | Booleano | Si no es cero, la Http.sys respuesta y la memoria caché de fragmentos están habilitadas. | 0 |
| UriMaxUriBytes | 262144 (bytes) | 4096 (4k): bytes 16777216 (16 MB) | Cualquier respuesta que sea mayor que este valor no se almacena en caché en la memoria caché de respuesta del kernel. | 1 3 |
| UriScavengerPeriod | 120 (segundos) | 10: 0xFFFFFFFF segundos | Determina la frecuencia del carroñero de caché. Se vacía cualquier respuesta o fragmento al que no se haya tenido acceso en el número de segundos igual UriScavengerPeriod a. |
1 2 |
| UrlSegmentMaxLength | 260 | 0 - 32.766 caracteres | Número máximo de caracteres en un segmento de ruta de dirección URL (el área entre las barras diagonales de la dirección URL). Si es cero, es la longitud delimitada por el valor máximo de un ULONG. |
1 |
| DisableServerHeader | 0 | 0 - 2 | Esta clave controla el http.sys se comporta con respecto a anexar el servidor de encabezado de respuesta http para las respuestas que envía a los clientes. Un valor de 0, que es el valor predeterminado, usará el valor de encabezado que la aplicación proporciona a http.sys, Microsoft-HTTPAPI/2.0 o anexará el valor predeterminado del encabezado de respuesta. Un valor de 1 no anexará el encabezado Server para las respuestas generadas por http.sys (las respuestas terminan en 400, 503 y otros códigos de estado). Un valor de 2 impedirá http.sys agregar un encabezado de servidor a la respuesta. Si un encabezado de servidor está presente en la respuesta, no se quitará, si uno no está 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 las respuestas de envío de IIS. Si experimenta este problema, puede agregar el valor MaxBufferedSendBytes 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 clave del Registro | Código WARNING |
|---|---|---|---|---|
| CertChainCacheOnlyUrlRetrieval | 1 | 0 1 |
De forma predeterminada, las sugerencias de AIA no se siguen durante la validación de 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 DWORD CertChainCacheOnlyUrlRetrieval en 0 (cero) en la clave HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters del Registro. |
No aplicable |
Códigos de advertencia
- 0: Sin riesgos.
- 1: Cambiar esta clave del Registro se considera peligroso. Esta clave hace que Http.sys usar más memoria y puede aumentar la vulnerabilidad a ataques malintencionados.
- 2: Un valor bajo puede provocar 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 tendrá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 Inicio**, ejecutar,** escriba Cmd y, a continuación, seleccione Aceptar.
En el símbolo del sistema, escriba
net stop httpy presione Entrar.En el símbolo del sistema, escriba
net start httpy presione Entrar.En el símbolo del sistema, escriba
net stop iisadmin /yy presione Entrar.Nota
También se detendrán los servicios 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 detuvieron en el paso 4. Para ello, escriba en
net start servicenameel símbolo del sistema y, a continuación, 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 Servicey, a continuación, presione ENTRAR.