No Microsoft Windows Server 2003, o HTTP.sys é o driver em modo kernel que lida com solicitações HTTP. Diversos valores do Registro podem ser configurados acordo com a requisitos específicos. A tabela na seção "Mais informações" contém as seguintes informações sobre esses valores do Registro:
- Nomes de chaves do registro
- Valores padrão
- Intervalos de valores válido
- Funções de chaves do registro
- Códigos de aviso (onde apropriado)
Observação Consulte a seção "Códigos de aviso" para obter informações sobre riscos potenciais quando você cria e configurar valores do Registro usando configurações diferentes de configurações padrão.
Este artigo destina-se os usuários avançados e pressupõe conhecimento do Registro e dos riscos envolvidos quando o registro é alterado.
importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756
(http://support.microsoft.com/kb/322756/
)
Como fazer backup e restaurar o registro no Windows
Você pode criar os seguintes valores DWORD sob a seguinte chave do Registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Recolher esta tabelaExpandir esta tabela
| Chave do registro | Valor padrão | Intervalo de valores válido | Função de chave do registro | Código de aviso |
|---|
| AllowRestrictedChars | 0 | Booleano | Se diferente de zero, HTTP.sys aceita caracteres de escape hex na solicitação URLs que decodificam a U + 0000 ? U + 001F e U + u+007F ? U + 009F intervalos. | 0 |
| EnableAggressiveMemoryUsage | 0 | 0,1 | Preallocate memória não-paginável. Por padrão, o serviço HTTP pára de aceitar conexões quando menos de 20 megabytes (MB) de memória não-paginável está disponível. Após adicionar esse valor no registro, o serviço HTTP pára de aceitar conexões quando menos de 8 MB de memória não-paginável está disponível. Definir esse valor do Registro pode reduzir o número de 503 erros no arquivo httperr.log e "Connections_refused". | 0 |
| EnableNonUTF8 | 1 | Booleano | Se zero, o HTTP.sys aceita apenas URLs codificado em UTF-8. Se diferente de zero, o HTTP.sys também aceita URLs codificados em ANSI ou DBCS em solicitações. | 0 |
| FavorUTF8 | 1 | Booleano | Se diferente de zero, sempre tenta HTTP.sys para decodificar uma URL como UTF-8 primeiro; se a conversão falhar e EnableNonUTF8 for diferente de zero, HTTP.sys, em seguida, tenta decodificá-la como ANSI ou DBCS. Se zero (e EnableNonUTF8 é diferente de zero), o HTTP.sys tenta decodificá-la como ANSI ou DBCS; se isso não for bem-sucedido, ele tenta uma conversão UTF-8. | 0 |
| MaxBytesPerSend | 65536 | 1-0xFFFFF (bytes) | Substitui o tamanho da janela TCP que é usado pelo HTTP.sys. Um valor mais alto pode permitir a velocidades mais altas download em ambientes de rede que têm alta latência e largura de banda alta. | 0 |
| MaxConnections | MAX_ULONG | 1024(1K) ? 2031616 conexões (2 MB) | Substitui o cálculo de MaxConnections no driver. Isso é principalmente uma função de memória. | 1 |
| MaxEndpoints | 0 | 0 - 1024 | O número máximo de objetos ponto de extremidade atual que são permitidos. O valor padrão de zero indica que o máximo é calculado da memória disponível | 1 |
| MaxFieldLength | 16384 | 65534 64 (64 k - 2) bytes | Define um limite superior para cada cabeçalho. Consulte MaxRequestBytes. Esse limite converte para cerca de 32 k caracteres para um URL. | 1 |
| MaxRequestBytes | 16384 | 16777216 256 Bytes (16 MB) | Determina o limite superior para o tamanho total da linha solicitação e os cabeçalhos. Sua definição padrão é 16 KB. Se esse valor for menor do que MaxFieldLength, o valor MaxFieldLength será ajustado. | 1 |
| PercentUAllowed | 1 | Booleano | Se diferente de zero, o HTTP.sys aceita a notação de uNNNN % na solicitação URLs. | 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 | Booleano | Se for diferente de zero, o cache de resposta e o fragmento do HTTP.sys estará ativado. | 0 |
| UriMaxUriBytes | 262144 (bytes) | 4096(4k) ? 16777216(16MB) bytes | Qualquer resposta maior do que esse valor não é armazenada em cache no cache de resposta de kernel. | 1 3 |
| UriScavengerPeriod | 120 (segundos) | 10 0xFFFFFFFF segundos | Determina a freqüência da remoção de cache. Qualquer resposta ou fragmento não foram acessado no número de segundos iguais 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 na URL). Se zero, é o comprimento é limitado pelo valor máximo de um ULONG. | 1 |
Você pode enfrentar desempenho lento no Microsoft Internet Information Services (IIS) 6.0 ao aplicativos de servidores da Internet (ISAPI) ou aplicativos interface comum de gateway (CGI) que são hospedados no IIS 6.0 enviem respostas. Se você enfrentar esse problema, você pode adicionar o valor DWORD MaxBufferedSendBytes no registro.Para obter mais informações sobre esse problema, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
906977
(http://support.microsoft.com/kb/906977/
)
Erro: Enfrentar desempenho lento ao aplicativos ISAPI e aplicativos CGI que estão hospedados no Internet Information Services 6.0 enviam respostas
No Microsoft Windows XP e no Microsoft Windows Server 2003, você também pode criar o seguinte valor DWORD na seguinte chave do Registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters
Recolher esta tabelaExpandir esta tabela
| Chave do registro | Valor padrão | Intervalo de valores válido | 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 de quando o IIS é configurado para usar certificados de cliente. Esse comportamento é in-loco por motivos de desempenho e segurança. Por exemplo, esse comportamento pode ajudar a impedir ataques de negação de serviço. No entanto, esse comportamento também pode levar a rejeições certificado inesperado quando AIA recuperação for necessária. Para substituir esse comportamento, você pode definir o parâmetro DWORD CertChainCacheOnlyUrlRetrieval como 0 (zero) na chave do Registro "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters". | Não aplicável |
Códigos de aviso
- 0: Não há riscos.
- 1: Alterar essa chave do registro é considerado extremamente perigoso. Essa chave faz com que HTTP.sys usar mais memória e pode aumentar a vulnerabilidade a ataques mal-intencionados.
- 2: Um valor baixo pode causar o cache para ser liberado com mais freqüência. Se isso ocorrer, ele pode afetar o desempenho.
- 3: Um valor baixo pode afetar o desempenho para conteúdo estático.
As alterações feitas no Registro não terão efeito até que você reinicie o serviço HTTP. Além disso, você terá que reiniciar os serviços IIS relacionados.
Para reiniciar o serviço HTTP, tipo e relacionados todos os serviços do IIS, execute essas etapas:
- Clique em Iniciar , clique em Executar , digite Cmd e, em seguida, clique em OK .
- No prompt de comando, digite net stop http em um prompt de comando e, em seguida, pressione ENTER.
- No prompt de comando, digite net start http em um prompt de comando e, em seguida, pressione ENTER.
- No prompt de comando, digite net stop iisadmin /y em um prompt de comando e pressione ENTER.
Observação Os serviços IIS que dependem do serviço IIS Admin também serão interrompidos. Observe os serviços do IIS que são interrompidos quando você parar o serviço IIS Admin Service. Você irá reiniciar cada serviço na próxima etapa. - Reinicie os serviços 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 serviço de publicação da World Wide Web, digite net start "World Wide Web Publishing Service" e, em seguida, pressione ENTER.