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:

  1. Seleccione Inicio, ejecutar, escriba Cmdy, a continuación, seleccione Aceptar.

  2. En el símbolo del sistema, escriba net stop http y presione Entrar.

  3. En el símbolo del sistema, escriba net start http y presione Entrar.

  4. 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.

  5. 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, escriba net start World Wide Web Publishing Servicey presione Entrar.