Compartilhar via


Http.sys configurações de registro para Windows

Este artigo descreve Http.sys configurações do Registro para Windows.

Versão original do produto: Windows 8, Windows Server 2012, 2008 R2, 2008
Número original do KB: 820129

Resumo

No Windows Server 2008 e versões posteriores, Http.sys é o driver de modo kernel que lida com solicitações HTTP (Hypertext Transfer Protocol). Vários valores do Registro podem ser configurados de acordo com requisitos específicos. A tabela na seção Chaves do Registro contém as seguintes informações sobre esses valores do Registro:

  • Nomes de chave do Registro
  • Valores padrão
  • Intervalos de valores válidos
  • Funções de chave do Registro
  • Códigos de ADVERTÊNCIA (se aplicável)

Observação

Consulte a seção Códigos de aviso para obter informações sobre riscos potenciais ao criar e configurar valores do Registro usando configurações diferentes das configurações padrão.

Este artigo destina-se a usuários avançados e pressupõe conhecimento do registro e dos riscos envolvidos quando o registro é alterado.

Chaves do Registro

Importante

Esta seção, método ou tarefa contém etapas que descrevem como modificar o Registro. Entretanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, certifique-se de seguir essas etapas com atenção. Para proteção acrescida, faça backup do Registro antes de modificá-lo. Em, é possível restaurar o Registro caso ocorra um problema. Para obter mais informações sobre como fazer backup e restaurar o Registro, consulte Como fazer backup e restaurar o Registro no Windows.

Você pode criar os seguintes valores do Registro DWORD na seguinte chave do Registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Chave do Registro Valor padrão Intervalo de valores válidos Função de chave do Registro Código de AVISO
PermitirCaracteres Restritos 0 Booliano Se for diferente de zero, Http.sys aceitará caracteres de escape hexadecimal em URLs de solicitação que decodificam para os intervalos U+0000 - U+001F e U+007F - U+009F. 0
AtivarAggressiveMemoryUsage 0 0
1
Pré-alocar memória de pool não paginada. Por padrão, o serviço HTTP para de aceitar conexões quando menos de 20 megabytes (MB) de memória de pool não paginada estão disponíveis. Depois de adicionar esse valor ao Registro, o serviço HTTP para de aceitar conexões quando menos de 8 MB de memória de pool não paginada estão disponíveis. Definir esse valor do Registro pode reduzir o número de erros Connections_refused e 503 no arquivo Httperr.log . 0
EnableNonUTF8 1 Booliano Se zero, Http.sys aceitará apenas URLs codificadas em UTF-8. Se for diferente de zero, Http.sys também aceitará URLs codificadas em ANSI ou DBCS em solicitações. 0
FavorUTF8 1 Booliano Se for diferente de zero, Http.sys sempre tentará decodificar uma URL como UTF-8 primeiro; se essa conversão falhar e EnableNonUTF8 for diferente de zero, Http.sys tentará decodificá-la como ANSI ou DBCS. Se zero (e EnableNonUTF8 for diferente de zero), Http.sys tentará decodificá-lo como ANSI ou DBCS; se isso não for bem-sucedido, ele tentará uma conversão UTF-8. 0
MaxBytesPerSend 65536 1-0xFFFFF (Bytes) Substitui o tamanho da janela TCP usado pelo Http.sys. Um valor mais alto pode permitir velocidades de download mais altas em ambientes de rede com alta largura de banda e alta latência. 0
Máximo de conexões MAX_ULONG Conexões 1024 (1k) - 2031616 (2 MB) Substitui o MaxConnections cálculo no driver. Esta é principalmente uma função da memória. 1
MaxEndpoints 0 0 – 1024 O número máximo de objetos de ponto de extremidade atuais permitidos. O valor padrão de zero implica que o máximo é calculado a partir da memória disponível. 1
MaxFieldLength 16384 64 - 65534 (64k - 2) bytes Define um limite superior para cada cabeçalho. Consulte MaxRequestBytes. Esse limite se traduz em aproximadamente 32 mil caracteres para uma URL. 1
MaxRequestBytes 16384 256 - 16777216 (16 MB) bytes Determina o limite superior para o tamanho total da linha de solicitação e dos cabeçalhos.
Sua configuração padrão é 16 KB. Se esse valor for menor que MaxFieldLength, o MaxFieldLength valor será ajustado.
1
PercentualUAllowed 1 Booliano Se for diferente de zero, Http.sys aceitará a notação % uNNNN em URLs de solicitação. 0
UrlSegmentMaxCount 255 0 - 16.383 segmentos Número máximo de segmentos de caminho de URL. Se zero, a contagem limitada pelo valor máximo de um ULONG. 1
UriEnableCache 1 Booliano Se for diferente de zero, a resposta Http.sys e o cache de fragmentos serão ativados. 0
UriMaxUriBytes 262144 (bytes) 4096 (4k) - 16777216 (16 MB) bytes Qualquer resposta maior que esse valor não é armazenada em cache no cache de resposta do kernel. 1
3
UriScavengerPeriod 120 (segundos) 10 - 0xFFFFFFFF segundos Determina a frequência do eliminador de cache. Qualquer resposta ou fragmento que não tenha sido acessado no número de segundos igual a UriScavengerPeriod é liberado. 1
2
UrlSegmentMaxLength 260 0 - 32.766 caracteres Número máximo de caracteres em um segmento de caminho de URL (a área entre as barras no URL). Se zero, é o comprimento que é limitado pelo valor máximo de um ULONG. 1
DisableServerHeader 0 0 – 2 Essa chave controla como http.sys se comporta em relação ao acréscimo do cabeçalho de resposta http Server para respostas que ele envia aos clientes. Um valor de 0, que é o valor padrão, usará o valor de cabeçalho que o aplicativo fornece para http.sys ou acrescentará o valor padrão de ao cabeçalho de Microsoft-HTTPAPI/2.0 resposta. Um valor de 1 não acrescentará o cabeçalho Server para respostas geradas por http.sys (respostas que terminam em 400, 503 e outros códigos de status). Um valor de 2 impedirá que http.sys acrescente um cabeçalho Server à resposta. Se um cabeçalho Server estiver presente na resposta, ele não será removido, se não houver um, ele não será adicionado. 0

Você pode ter um desempenho lento no IIS (Serviços de Informações da Internet) quando aplicativos ISAPI (API do Servidor da Internet) ou CGI (Common Gateway Interface) hospedados no IIS enviam respostas. Se você tiver esse problema, poderá adicionar o MaxBufferedSendBytes valor DWORD ao registro.

No Windows Server 2008 e versões posteriores, você também pode criar o seguinte valor DWORD na seguinte chave do Registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters

Chave do Registro Valor padrão Intervalo de valores válidos Função de chave do Registro Código de AVISO
CertChainCacheOnlyUrlRetrieval 1 0
1
Por padrão, as dicas de AIA não são seguidas durante a validação da cadeia quando o IIS está configurado para usar certificados de cliente. Esse comportamento é por motivos de desempenho e segurança. Por exemplo, esse comportamento pode ajudar a evitar ataques DoS. No entanto, esse comportamento também pode levar a rejeições inesperadas de certificado quando a recuperação do AIA é necessária. Para substituir esse comportamento, você pode definir o parâmetro CertChainCacheOnlyUrlRetrieval DWORD como 0 (zero) na HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters chave do Registro. Não aplicável

Códigos de avisos

  • 0: Sem riscos.
  • 1: Alterar essa chave do Registro é considerado perigoso. Essa chave faz com que Http.sys usem mais memória e pode aumentar a vulnerabilidade a ataques mal-intencionados.
  • 2: Um valor baixo pode fazer com que o cache seja liberado com mais frequência. Se esse comportamento ocorrer, ele poderá afetar o desempenho.
  • 3: Um valor baixo pode afetar o desempenho do conteúdo estático.

As alterações feitas no registro não entrarão em vigor até que você reinicie o serviço HTTP. Além disso, talvez seja necessário reiniciar todos os serviços relacionados do IIS.

Para reiniciar o serviço HTTP, digite e todos os serviços IIS relacionados, siga estas etapas:

  1. Selecione Iniciar, selecione Executar, digite Cmd e selecione OK.

  2. No prompt de comando, digite net stop http e pressione Enter.

  3. No prompt de comando, digite net start http e pressione Enter.

  4. No prompt de comando, digite net stop iisadmin /y e pressione Enter.

    Observação

    Todos os serviços do IIS que dependem do serviço de Serviço de Administração do IIS também serão interrompidos. Observe os serviços do IIS que são interrompidos quando você interrompe o serviço de Serviço de Administração do IIS. Você reiniciará cada serviço na próxima etapa.

  5. Reinicie os serviços do IIS que foram interrompidos na etapa 4. Para fazer isso, digite net start servicename no prompt de comando e pressione Enter. No comando, servicename é o nome do serviço que você deseja reiniciar. Por exemplo, para reiniciar o serviço do Serviço de Publicação na World Wide Web, digite net start World Wide Web Publishing Servicee pressione Enter.