IIS에 대한 Http.sys 레지스트리 설정

기술 자료 번역 기술 자료 번역
기술 자료: 820129 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

Microsoft Windows Server 2003에서 Http.sys는 HTTP 요청을 처리하는 커널 모드 드라이버입니다. 특정 요구 사항에 따라 몇 가지 레지스트리 값을 구성할 수 있습니다. "추가 정보" 절의 표에 이러한 레지스트리 값에 대한 다음과 같은 정보가 나와 있습니다.
  • 레지스트리 키 이름
  • 기본값
  • 유효 값 범위
  • 레지스트리 키 기능
  • 경고 코드(적절한 경우)
참고 기본 설정 이외의 다른 설정을 사용하여 레지스트리 값을 만들고 구성할 때의 잠재적 위험에 대한 내용은 "경고 코드" 절을 참조하십시오.

이 문서는 고급 사용자를 위한 것으로 레지스트리와 레지스트리 변경 시 발생할 위험에 대해 알고 있다고 가정합니다.

추가 정보

중요 이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수도 있으므로 다음 단계를 주의하여 수행해야 합니다. 추가 보호 조치로 레지스트리를 수정하기 전에 해당 레지스트리를 백업하는 것이 좋습니다. 이렇게 하면 문제가 발생하는 경우 레지스트리를 복원할 수 있습니다. 레지스트리 백업 및 복원 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
322756 Windows XP 및 Windows Server 2003에서 레지스트리를 백업, 편집 및 복원하는 방법


다음 레지스트리 키 아래에 다음과 같은 DWORD 값을 만들 수 있습니다.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
표 축소표 확대
레지스트리 키기본값유효 값 범위레지스트리 키 기능경고 코드
AllowRestrictedChars0부울0이 아니면 Http.sys가 요청 URL에서 U+0000 ? U+001F 및 U+007F ? U+009F 범위로 디코딩된 16진수로 이스케이프된 문자를 받아들입니다.0
EnableAggressiveMemoryUsage00,1비페이징 풀 메모리를 사전에 할당합니다. 기본적으로 HTTP 서비스는 사용할 수 있는 비페이징 풀 메모리가 20MB 미만인 경우 연결을 받아들이지 않습니다. 이 값을 레지스트리에 추가하면 HTTP 서비스는 사용할 수 있는 비페이징 풀 메모리가 8MB 미만인 경우 연결을 받아들이지 않습니다. 이 레지스트리 값을 설정하면 Httperr.log 파일에서 "Connections_refused"와 503 오류의 수가 줄어들 수 있습니다.0
EnableNonUTF81부울0이면 Http.sys가 UTF-8로 인코딩된 URL만 받아들입니다. 0이 아니면 Http.sys가 요청에서 ANSI 또는 DBCS로 인코딩된 URL도 받아들입니다.0
FavorUTF81부울0이 아니면 Http.sys가 항상 URL을 UTF-8로 먼저 디코딩하려고 합니다. 이러한 변환 작업이 실패하고 EnableNonUTF8이 0이 아니면 Http.sys가 ANSI나 DBCS로 디코딩하려고 합니다. 0이면(그리고 EnableNonUTF8이 0이 아니면) Http.sys가 ANSI나 DBCS로 디코딩하려고 하며, 이 작업이 실패하면 UTF-8 변환을 시도합니다.0
MaxBytesPerSend655361-0xFFFFF(바이트)Http.sys에서 사용하는 TCP 창 크기를 무시합니다. 이 값이 클수록 대역폭이 크고 대기 시간이 긴 네트워크 환경에서 다운로드 속도가 높아질 수 있습니다.0
MaxConnectionsMAX_ULONG1024(1K) ? 2031616(2MB) 연결드라이버의 MaxConnections 계산을 무시합니다. 이것은 메모리의 기본 기능입니다.1
MaxEndpoints00 - 1024 허용되는 현재 끝점 개체의 최대 수입니다. 기본값 0은 사용 가능한 메모리에서 최대값이 계산됨을 의미합니다.1
MaxFieldLength1638464 - 65534(64k - 2)바이트각 헤더의 상한값을 설정합니다. MaxRequestBytes를 참조하십시오. 이 제한은 URL의 경우 32,000자 정도입니다.1
MaxRequestBytes16384256 - 16777216(16MB)바이트요청 라인과 헤더의 전체 크기에 대한 상한값을 결정합니다.
기본 설정값은 16KB입니다. 이 값이 MaxFieldLength보다 작으면 MaxFieldLength 값이 조정됩니다.
1
PercentUAllowed1부울0이 아니면 Http.sys가 요청 URL에서 %uNNNN 표기를 받아들입니다.0
UrlSegmentMaxCount2550 - 16,383세그먼트 최대 URL 경로 세그먼트 수입니다. 0이면 한계가 ULONG의 최대 값으로 지정된 수입니다.1
UriEnableCache1부울0이 아니면 Http.sys 응답 및 단편 캐시가 사용 가능하게 설정됩니다.0
UriMaxUriBytes262144(바이트)4096(4K) ? 16777216(16MB)바이트 이 값보다 큰 응답은 커널 응답 캐시에 캐시되지 않습니다.1
3
UriScavengerPeriod120(초)10 - 0xFFFFFFFF 초캐시 스캐빈저의 빈도를 결정합니다. UriScavengerPeriod에서 지정한 초 안에 액세스되지 않은 응답이나 단편은 버려집니다.1
2
UrlSegmentMaxLength 2600 - 32,766자 URL 경로 세그먼트(URL에서 슬래시 사이의 영역) 내의 최대 문자 수입니다. 0이면 최대 문자 수가 ULONG의 최대 값으로 제한된 길이입니다.1
Microsoft 인터넷 정보 서비스(IIS) 6.0에 호스트된 ISAPI(인터넷 서버 API) 응용 프로그램이나 CGI(Common Gateway Interface) 응용 프로그램에서 응답을 보낼 때 IIS 6.0의 성능이 저하될 수 있습니다. 이 문제가 발생하는 경우 MaxBufferedSendBytes DWORD 값을 레지스트리에 추가할 수 있습니다. 이 문제에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
906977 BUG: 인터넷 정보 서비스 6.0에 호스트된 ISAPI 응용 프로그램이나 CGI 응용 프로그램에서 응답을 보낼 때 성능이 저하된다
Microsoft Windows XP와 Microsoft Windows Server 2003에서도 다음 레지스트리 키 아래에 다음과 같은 DWORD 값을 만들 수 있습니다.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
표 축소표 확대
레지스트리 키기본값유효 값 범위레지스트리 키 기능경고 코드
CertChainCacheOnlyUrlRetrieval10,1클라이언트 인증서를 사용하도록 IIS를 구성한 경우 체인 유효성 검사 중에 기본적으로 AIA 힌트를 따르지 않습니다. 이 동작은 성능과 보안을 위해 설계된 것입니다. 예를 들어, 이 동작은 DoS 공격을 방지하는 데 도움이 될 수 있습니다. 그러나 AIA 검색이 필요할 때 이 동작으로 인해 인증서가 예기치 않게 거부될 수도 있습니다. 이 동작을 무시하려면 "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters" 레지스트리 키 아래에서 DWORD 매개 변수 CertChainCacheOnlyUrlRetrieval을 0(영)으로 설정하면 됩니다.해당 사항 없음

경고 코드

  • 0: 위험하지 않습니다.
  • 1: 이 레지스트리 키를 변경하는 것은 아주 위험한 작업으로 간주됩니다. 이 키를 사용하면 Http.sys가 메모리를 더 많이 사용하게 되고 악의적인 공격에 더 취약해질 수 있습니다.
  • 2: 값이 작을수록 캐시가 더 자주 플러시될 수 있습니다. 이러한 문제가 발생하면 성능에 영향을 미칠 수 있습니다.
  • 3: 값이 작으면 정적 콘텐츠의 성능에 영향을 미칠 수 있습니다.


레지스트리를 변경한 내용은 HTTP 서비스를 다시 시작할 때까지 적용되지 않습니다. 또한 관련된 IIS 서비스를 다시 시작해야 할 수 있습니다.

HTTP 서비스 및 관련된 모든 IIS 서비스를 다시 시작하려면 다음과 같이 하십시오.
  1. 시작, 실행을 차례로 누르고 Cmd를 입력한 다음 확인을 누릅니다.
  2. 명령 프롬프트에서 net stop http를 입력한 다음 Enter 키를 누릅니다.
  3. 명령 프롬프트에서 net start http를 입력한 다음 Enter 키를 누릅니다.
  4. 명령 프롬프트에서 net stop iisadmin /y를 입력한 다음 Enter 키를 누릅니다.

    참고 IIS Admin Service를 사용하는 IIS 서비스도 모두 중지됩니다. IIS Admin Service를 중지하면 중지되는 IIS 서비스를 기록해 두십시오. 다음 단계에서 각 서비스를 다시 시작해야 합니다.
  5. 4단계에서 중지된 IIS 서비스를 다시 시작합니다. 이렇게 하려면 명령 프롬프트에서 net start servicename을 입력한 다음 Enter 키를 누릅니다. 이 명령에서 servicename은 다시 시작할 서비스의 이름입니다. 예를 들어, World Wide Web Publishing 서비스를 다시 시작하려면 net start "World Wide Web Publishing Service"를 입력한 다음 Enter 키를 누르십시오.

속성

기술 자료: 820129 - 마지막 검토: 2008년 5월 14일 수요일 - 수정: 7.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Internet Information Services 6.0
키워드:?
kbinfo KB820129

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com