Http.sys configurações de registro para Windows
Este artigo descreve Http.sys configurações de registro para Windows.
Versão original do produto: Windows 8, Windows Server 2012, 2008 R2, 2008
Número de KB original: 820129
Resumo
No Windows Server 2008 e versões posteriores, Http.sys é o driver do modo kernel que lida com solicitações HTTP (Protocolo de Transferência de Hipertexto). Vários valores de 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 de registro:
- Nomes de chave do Registro
- Valores padrão
- Intervalos de valores válidos
- Funções de chave do Registro
- Códigos DE AVISO (quando aplicável)
Observação
Consulte a seção Códigos de aviso para obter informações sobre possíveis riscos ao criar e configurar valores de registro usando configurações diferentes das configurações padrão.
Este artigo destina-se a usuários avançados e assume o conhecimento do registro e dos riscos que estão envolvidos quando o registro é alterado.
Chaves de 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, siga essas etapas cuidadosamente. Para mais proteção, faça o backup do registro antes de modificá-lo. Em seguida, você poderá restaurar o registro se ocorrer um problema. Para saber mais sobre como fazer o backup e restaurar o registro, consulte Como fazer o backup e restaurar o registro no Windows.
Você pode criar os seguintes valores de registro DWORD na seguinte chave do registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Chave do Registro | Valor padrão | Intervalo de valor válido | Função chave do Registro | Código WARNING |
---|---|---|---|---|
AllowRestrictedChars | 0 | Booliano | Se não zero, Http.sys aceitará chars hex-escaped em URLs de solicitação que decodificam para U+0000 - U+001F e U+007F - intervalos U+009F. | 0 |
EnableAggressiveMemoryUsage | 0 | 0 1 |
Preallocate memória de pool nãopaged. Por padrão, o serviço HTTP deixa de aceitar conexões quando menos de 20 megabytes (MB) de memória de pool nãopagada estiverem 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ãopagada estiver disponível. Definir esse valor de registro pode reduzir o número de erros de Connections_refused e 503 no arquivo Httperr.log . | 0 |
EnableNonUTF8 | 1 | Booliano | Se zero, Http.sys aceita apenas URLs codificadas por UTF-8. Se não for zero, Http.sys também aceitará URLs codificadas por ANSI ou DBCS em solicitações. | 0 |
FavorUTF8 | 1 | Booliano | Se não for zero, Http.sys sempre tentar decodificar uma URL como UTF-8 primeiro; se essa conversão falhar e EnableNonUTF8 não for zero, Http.sys tentar decodificá-la como ANSI ou DBCS. Se zero (e EnableNonUTF8 não for 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 que é usado por Http.sys. Um valor mais alto pode habilitar velocidades de download mais altas em ambientes de rede com alta largura de banda e alta latência. | 0 |
Maxconnections | MAX_ULONG | 1024 (1k) – conexões de 2031616 (2 MB) | Substitui o MaxConnections cálculo no driver. Essa é principalmente uma função de 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 – bytes de 16777216 (16 MB) | Determina o limite superior para o tamanho total da linha De solicitação e dos cabeçalhos. Sua configuração padrão é de 16 KB. Se esse valor for menor que MaxFieldLength , o MaxFieldLength valor será ajustado. |
1 |
PercentUAllowed | 1 | Booliano | Se não for zero, Http.sys aceitará a notação % uNNNN nas 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 não for zero, a resposta Http.sys e o cache de fragmentos serão habilitados. | 0 |
UriMaxUriBytes | 262144 (bytes) | 4096 (4k) – bytes de 16777216 (16 MB) | 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 coletor 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 chars | Número máximo de caracteres em um segmento de caminho de URL (a área entre as barras na 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 no que diz respeito à anexação do servidor de cabeçalho de resposta http para respostas enviadas 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 do ao cabeçalho de Microsoft-HTTPAPI/2.0 resposta. Um valor de 1 não acrescentará o cabeçalho do Servidor 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 anexe um cabeçalho do Servidor à resposta. Se um cabeçalho do Servidor estiver presente na resposta, ele não será removido, se um não estiver presente, ele não será adicionado. |
0 |
Você pode ter um desempenho lento no IIS (Internet Information Services) quando aplicativos ISAPI (API do Servidor de Internet) ou aplicativos CGI (Common Gateway Interface) hospedados em respostas de envio do IIS. 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 valor válido | Função chave do Registro | Código WARNING |
---|---|---|---|---|
CertChainCacheOnlyUrlRetrieval | 1 | 0 1 |
Por padrão, as dicas do AIA não são seguidas durante a validação de 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 do 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 chave do HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters registro. |
Não aplicável |
Códigos de aviso
- 0: Sem riscos.
- 1: A alteração dessa chave do registro é considerada perigosa. Essa chave faz com que Http.sys usem mais memória e possam 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, 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 qualquer serviço de IIS relacionado.
Para reiniciar o serviço HTTP, digite e todos os serviços de IIS relacionados, siga estas etapas:
Selecione Iniciar, selecione Executar, digite Cmd e, em seguida, selecione OK.
No prompt de comando, digite
net stop http
e pressione Enter.No prompt de comando, digite
net start http
e pressione Enter.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.
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 world wide web publishing service, digitenet start World Wide Web Publishing Service
e pressione Enter.