configuración del Registro de Http.sys 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 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 valores distintos de los valores predeterminados.
Este artículo está pensado para usuarios avanzados y asume el conocimiento del registro y de los riesgos que conllevan 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. 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 de clave del Registro | Código WARNING |
---|---|---|---|---|
AllowRestrictedChars | 0 | Booleano | Si es distinto de cero, Http.sys acepta caracteres con escape hexadecimal en direcciones URL de solicitud que se descodifican en los intervalos U+0000 - U+001F y U+007F - U+009F. | 0 |
EnableAggressiveMemoryUsage | 0 | 0 1 |
Preasignar la memoria del grupo no paginado. De forma predeterminada, el servicio HTTP deja de aceptar conexiones cuando hay menos de 20 megabytes (MB) de memoria de grupo no paginada disponible. Después de agregar este valor al Registro, el servicio HTTP deja de aceptar conexiones cuando hay menos de 8 MB de memoria de grupo no paginada 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 codificadas con UTF-8. Si es distinto de cero, Http.sys también acepta direcciones URL codificadas en ANSI o DBCS en las solicitudes. | 0 |
FavorUTF8 | 1 | Booleano | Si es distinto de cero, Http.sys siempre intenta descodificar primero una dirección URL como UTF-8; 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 es distinto de 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 más alto puede habilitar 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 (1 k): conexiones 2031616 (2 MB) | Invalida el MaxConnections cálculo en el controlador. Se trata principalmente de una función de 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 (64 k - 2) bytes | Establece un límite superior para cada encabezado. Consulte MaxRequestBytes . Este límite se traduce en 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 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 acceso de dirección URL. Si es cero, el recuento delimitado por el valor máximo de .ULONG |
1 |
UriEnableCache | 1 | Booleano | Si es distinto de cero, se habilitan la respuesta Http.sys y la caché de fragmentos. | 0 |
UriMaxUriBytes | 262144 (bytes) | 4096 (4k): bytes de 16777216 (16 MB) | Cualquier respuesta que sea mayor que este valor no se almacena en caché en la 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 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 de dirección URL (el área entre las barras diagonales de la dirección URL). Si es cero, es la longitud que está limitada 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 servidor del 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, o anexará el valor predeterminado de 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 un encabezado Server está presente en la respuesta, no se quitará; si no hay uno, no se agregará. |
0 |
Puede experimentar un rendimiento lento en Internet Information Services (IIS) cuando las aplicaciones de La API de Servidor de Internet (ISAPI) o las aplicaciones de la Interfaz de puerta de enlace común (CGI) que se hospedan 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 WARNING |
---|---|---|---|---|
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: No hay riesgos.
- 1: Cambiar esta clave del Registro se considera peligroso. Esta clave hace que Http.sys use más memoria y puede 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 de IIS relacionados, siga estos pasos:
Seleccione Inicio, ejecutar, escriba Cmdy, 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 los servicios de IIS que dependen del servicio iis Administración. Observe los servicios de IIS que se detienen al detener el servicio IIS Administración Service. Reiniciará cada servicio en el paso siguiente.
Reinicie los servicios iis que se detuvieron 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.