httpRuntime 요소(ASP.NET 설정 스키마)

[이 설명서는 미리 보기 전용이며, 이후 릴리스에서 변경될 수 있습니다. 비어 있는 항목은 자리 표시자로 포함됩니다.]

ASP.NET 응용 프로그램에 대한 요청을 처리하는 방법을 결정하는 ASP.NET HTTP 런타임 설정을 구성합니다.

<httpRuntime
   apartmentThreading = "[True|False]"
   appRequestQueueLimit = "number"
   delayNotificationTimeout = "number"
   enable = "[True|False]" 
   enableHeaderChecking = "[True|False]" 
   enableKernelOutputCache = "[True|False]" 
   enableVersionHeader = "[True|False]" 
   encoderType = "string"
   executionTimeout = "number" 
   maxQueryStringLength = "number"
   maxRequestLength = "number" 
   maxUrlLength = "number"
   maxWaitChangeNotification = "number" 
   minFreeThreads = "number" 
   minLocalRequestFreeThreads = "number" 
   relaxedUrlToFileSystemMapping = "[True|False]"
   requestLengthDiskThreshold = "number" 
   requestPathInvalidCharacters = "string"
   requestValidationMode = "[2.0|4.0]"
   requestValidationType = "string"
   requireRootedSaveAsPath = "[True|False]"
   sendCacheControlHeader = "[True|False]" 
   shutdownTimeout = "number"
   targetFramework = "number"   useFullyQualifiedRedirectUrl = "[True|False]" 
   waitChangeNotification = "number" />

특성 및 요소

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성

설명

apartmentThreading

선택적 Boolean 특성입니다.

기본 ASP 호환에 아파트 스레딩을 사용합니다.

기본값은 False입니다.

appRequestQueueLimit

선택적 Int32 특성입니다.

ASP.NET에서 응용 프로그램을 위해 큐에 대기시키는 최대 요청 수를 지정합니다. 요청을 처리하는 데 사용할 수 있는 충분한 스레드가 없으면 요청이 대기됩니다. 큐가 이 특성에 지정된 제한을 초과하면 들어오는 요청이 거부되고 "503 - 서버 사용량이 많습니다."라는 오류 메시지가 나타납니다.

기본값은 5000입니다.

delayNotificationTimeout

선택적 Int32 특성입니다.

알림 지연에 대한 제한 시간(초)을 지정합니다.

기본값은 5초입니다.

encoderType

HTML 및 URL 인코딩을 처리하는 데 사용할 수 있는 사용자 지정 형식의 이름을 가져오거나 설정합니다.

ASP.NET에서는 HTML 및 URL 인코딩 작업에 대해 기본 처리기로 HttpEncoder 형식을 사용합니다. 인코딩 동작을 사용자 지정하려면 HttpEncoder 형식에서 상속되는 클래스를 만들 수 있습니다. 응용 프로그램의 구성 파일에서 httpRuntime 요소의 EncoderType 특성을 사용자 지정 형식의 정규화된 이름으로 설정합니다.

이 특성은.NET Framework 버전 4.0입니다.

enable

선택적 Boolean 특성입니다.

현재 노드와 자식 노드 수준에서 들어오는 요청을 받아들이기 위해 응용 프로그램 도메인(AppDomain)이 활성화되는지 여부를 지정합니다. False이면 응용 프로그램이 실제로 해제됩니다.

기본값은 True입니다.

enableHeaderChecking

선택적 Boolean 특성입니다.

ASP.NET에서 요청 헤더를 검사하여 잠재적 삽입 공격이 있는지를 확인할지 여부를 지정합니다. 공격이 발견되면 ASP.NET에서는 오류를 표시합니다.

기본값은 True입니다.

enableKernelOutputCache

선택적 Boolean 특성입니다.

출력 캐싱의 활성화 여부를 지정합니다. 이 특성은 Microsoft IIS(인터넷 정보 서비스) 6.0 이상이 설치되어 있는 경우에만 적용됩니다. 출력 캐싱 구성과 요청 형식에 따라 내용이 캐싱될 수 있는지 여부가 결정됩니다.

응답을 캐시하려면 다음과 같은 조건이 충족되어야 합니다.

  • 페이지 지시문 또는 캐싱 API를 사용하여 캐싱을 명시적으로 활성화해야 합니다.

  • 커널이 응답을 삭제할 시기를 인식할 수 있도록 캐싱에 만료 정책이 지정되어 있어야 합니다.

  • 캐싱에 변수 헤더 또는 매개 변수가 없습니다.

  • 인증이 필요하지 않습니다.

기본값은 True입니다.

enableVersionHeader

선택적 Boolean 특성입니다.

ASP.NET에서 버전 헤더를 출력할지 여부를 지정합니다. 이 특성은 사용 중인 ASP.NET 버전을 확인하기 위해 Microsoft Visual Studio 2005에서 사용됩니다. 이 특성은 프로덕션 사이트에서 반드시 필요한 것은 아니며 비활성화할 수 있습니다.

NoteNote
.NET Framework 1.0에서는 이 특성을 사용할 수 없습니다.

기본값은 True입니다.

executionTimeout

선택적 Int32 특성입니다.

ASP.NET에 의해 자동으로 종료되기 전에 요청을 실행할 수 있는 최대 시간(초)을 지정합니다.

만 디버그를 특성의 경우이 시간 제한에 적용 되는 compilation 요소입니다 False . 따라서 경우에 debug 특성인 True , 디버깅 하는 동안 응용 프로그램이 종료 되지 않도록 하기 위해이 특성을 큰 값으로 설정 하지 않아도 됩니다.

기본값은 110초입니다.

maxRequestLength

선택적 Int32 특성입니다.

입력 스트림 버퍼링 임계값 제한(KB)을 지정합니다. 이 제한을 설정하면 예를 들어 사용자가 서버에 큰 파일을 게시할 때 발생하는 서비스 거부 공격을 방지할 수 있습니다.

기본값은 4096KB입니다. 임계값이 초과되면 ConfigurationErrorsException 예외가 throw됩니다.

maxWaitChangeNotification

선택적 Int32 특성입니다.

AppDomain을 새 요청에 대해 다시 시작하기 전에 첫 번째 파일 변경 알림에서 대기할 최대 시간(초)을 지정합니다. 이 특성은 모든 파일 복사 프로세스를 완료하는 데 소요되는 시간보다 큰 값으로 설정합니다. 파일 변경 알림은 이 특성과 waitChangeNotification 특성 값을 기준으로 결합됩니다.

기본값은 0입니다.

minFreeThreads

선택적 Int32 특성입니다.

새 요청을 실행할 수 있는 사용 가능한 스레드의 최소 수를 지정합니다. ASP.NET에서는 처리를 완료하기 위해 추가 스레드가 필요한 요청을 위해 이 특성에 지정된 수만큼의 스레드를 사용 가능한 상태로 유지합니다.

기본값은 8입니다.

minLocalRequestFreeThreads

선택적 Int32 특성입니다.

ASP.NET에서 새 로컬 요청의 실행을 허용하기 위해 사용 가능 상태로 유지하는 최소 여유 스레드 수를 지정합니다. 이 특성에 지정된 수의 스레드는 로컬 호스트에서 들어오는 요청을 위해 예약됩니다. 이 경우 일부 요청은 처리하는 동안 로컬 호스트에 자식 요청을 실행합니다. 이렇게 하면 웹 서버로의 재진입이 반복되어 교착 상태가 발생하는 문제를 방지할 수 있습니다.

기본값은 4입니다.

requestValidationMode

선택적 Int32 특성입니다.

어떤 ASP.NET 버전별 유효성 검사 방법이 사용되는지 나타내는 버전 번호를 가져오거나 설정합니다.

이 속성에 할당하는 값은 특정 버전의 ASP.NET과 일치하도록 유효성이 검사되지 않습니다. 4.0보다 작은 숫자 값(예: 3.7, 2.9 또는 2.0)은 2.0으로 해석됩니다. 4.0보다 큰 수는 4.0로 해석됩니다.

기본값은 4.0입니다.

requestValidationType

선택적 String 특성입니다.

HTTP 요청의 유효성을 검사하는 데 사용되는 형식의 이름을 가져오거나 설정합니다.

ASP.NET 요청 유효성 검사 동작을 사용자 지정하려면 RequestValidator 형식에서 상속되는 클래스를 만들 수 있습니다. 다음 설정 응용 프로그램의 구성 파일에는 requestValidationType 의 특성의 httpRuntime 요소에 사용자 지정 형식의 문자열을 정규화 이름

기본값은 ASP.NET이 유효성 검사에 사용하는 RequestValidator 형식의 정규화된 이름입니다.

requestLengthDiskThreshold

선택적 Int32 특성입니다.

입력 스트림 버퍼링 임계값 제한(KB)을 지정합니다. 이 값은 maxRequestLength 특성을 초과하지 않아야 합니다.

기본값은 80KB입니다.

requireRootedSaveAsPath

선택적 Boolean 특성입니다.

SaveAs 메서드의 filename 매개 변수를 절대 경로로 할지 여부를 지정합니다. ASP.NET 프로세스에는 지정된 위치에 파일을 만들 수 있는 권한이 있어야 합니다.

기본값은 True입니다.

sendCacheControlHeader

선택적 Boolean 특성입니다.

기본적으로 Private으로 설정되어 있는 캐시 컨트롤 헤더를 전송할지 여부를 지정합니다. True이면 클라이언트 쪽 캐싱을 사용할 수 없습니다.

기본값은 True입니다.

shutdownTimeout

선택적 Int32 특성입니다.

작업자 프로세스를 종료하는 데 허용되는 시간(분)을 지정합니다. 제한 시간이 만료되면 ASP.NET에서는 작업자 프로세스를 종료합니다.

기본값은 90초입니다.

targetFramework

선택적 String 특성입니다.

CLR (공용 언어 런타임) 버전의 프레임 워크를 사용할 나타내는 버전 번호를 지정 합니다. 이 특성을 생략 하면 대상 framework 4.0으로 설정 됩니다.

기본값은 Null입니다.

useFullyQualifiedRedirectUrl

선택적 Boolean 특성입니다.

클라이언트 쪽 리디렉션을 일부 모바일 컨트롤에 필요한 "https://server/path" 형식으로 정규화할지 아니면 상대적 리디렉션을 클라이언트로 대신 전달할지를 지정합니다. True이면 정규화되지 않은 모든 리디렉션이 정규화된 형식으로 자동 변환됩니다.

NoteNote
이 특성이 False로 설정되어 있으면 일부 브라우저에서 쿠키가 없는 세션의 페이지를 로드할 때 문제가 발생할 수 있습니다.

기본값은 False입니다.

waitChangeNotification

선택적 Int32 특성입니다.

AppDomain을 다시 시작하기 전에 다른 파일 변경 알림을 기다리는 시간(초)을 지정합니다. 이 특성은 파일 복사 변경 알림 두 개의 업데이트 간격보다 큰 값으로 설정합니다. 파일 변경 알림은 이 특성과 maxWaitChangeNotification 특성 값을 기준으로 결합됩니다.

기본값은 0초입니다.

maxQueryStringLength

선택적 Int32 특성입니다.

최대 쿼리 문자열 길이(문자 수)입니다. 기본값은 2048입니다.

MaxQueryStringLength 속성의 값은 정수, 0이상의 수가 될 수 있습니다. 쿼리 문자열의 길이가 크기 제한을 초과하는 경우 ASP.NET은 HTTP 400 (잘못된 요청) 상태 코드를 반환합니다.

NoteNote
매우 작은 값으로 인해 웹 사이트를 사용할 수 없게 될 수 있습니다.
NoteNote
또한 쿼리 문자열 길이 제어 하는 IIS 설정이입니다.참조는 maxQueryString 특성에서 요청 제한을 <requestLimits>.

maxUrlLength

선택적 Int32 특성입니다.

문자 수에서, URL의 최대 길이입니다. 기본값은 260입니다.

MaxUrlLength 속성의 값은 정수, 0이상의 수가 될 수 있습니다.

요청 URL의 길이(Path 속성의 값)가 구성된 크기 제한을 초과하는 경우 ASP.NET은 HTTP 400(잘못된 요청) 상태 코드를 반환합니다.

NoteNote
매우 작은 값으로 인해 웹 사이트를 사용할 수 없게 될 수 있습니다. 또한 쿼리 문자열 길이 제어 하는 IIS 설정이입니다.참조는 maxQueryString 특성에서 요청 제한을 <requestLimits>.

relaxedUrlToFileSystemMapping

선택적 Boolean 특성입니다.

HTTP 요청에 있는 URL을 유효한 Windows 파일 경로에 필요한 지 여부를 나타냅니다.

RelaxedUrlToFileSystemMapping 속성은 들어오는 HTTP 요청 URL의 유효성을 검사하는 방법을 결정합니다. 이 속성이 false인 경우 URL은 Windows 파일 시스템 경로가 유효한지 여부를 확인하는 것과 동일한 규칙을 사용하여 유효성이 검사됩니다.

requestPathInvalidCharacters

선택적 String 특성입니다.

쉼표로 구분 된 목록에 요청 경로에 사용할 수 없는 문자입니다. 다음 목록에는 잘못된 문자의 기본 집합이 포함되어 있습니다.

<,>,*,%,&,:,\

자식 요소

없음

부모 요소

요소

설명

configuration

공용 언어 런타임 및 .NET Framework 응용 프로그램에서 사용하는 모든 구성 파일의 필수 루트 요소입니다.

system.web

구성 파일에서 ASP.NET 구성 설정에 대한 루트 요소를 지정하며, ASP.NET 웹 응용 프로그램을 구성하고 응용 프로그램의 동작 방식을 제어하는 구성 요소를 포함합니다.

설명

httpRuntime 요소는 ASP.NET 응용 프로그램에 대한 요청을 처리하는 방법을 결정하는 ASP.NET HTTP 런타임 설정을 구성합니다. .NET Framework에는 ASP.NET 런타임 호스트를 포함하여 다양한 런타임 호스트가 포함되어 있습니다. 요청이 들어오면 ASP.NET에서는 요청을 처리할 프로세스로 런타임 설정을 로드합니다. 또한 ASP.NET은 웹 서버에서 실행할 각 웹 응용 프로그램에 대한 응용 프로그램 도메인을 만듭니다.

기본 구성

httpRuntime 요소는 Machine.config 파일 또는 루트 Web.config 파일에 명시적으로 정의되어 있지 않습니다. 그러나 다음 설정은 시스템에서 초기화된 기본값입니다. 이 섹션을 사용자 지정해야 하는 경우 구성 파일에 이 섹션을 만들고 사용자 지정이 필요한 특성만 정의해야 합니다.

<httpRuntime 
   apartmentThreading="false"
   appRequestQueueLimit="5000"
   delayNotificationTimeout="5"
   enable="true"
   enableHeaderChecking="true"
   enableKernelOutputCache="true"
   enableVersionHeader="true"
   encoderType = "System.Web.Util.HttpEncoder"
   executionTimeout="110"
   maxQueryStringLength = "2048"
   maxRequestLength="4096"
   maxUrlLength = "260"
   maxWaitChangeNotification="0"
   minFreeThreads="8"
   minLocalRequestFreeThreads="4"
   relaxedUrlToFileSystemMapping = "False"
   requestLengthDiskThreshold="80"
   requestPathInvalidCharacters = "<,>,*,%,&,:,\"
   requestValidationMode = "4.0"
   requestValidationType = "System.Web.Util.RequestValidator"
   requireRootedSaveAsPath="true"
   sendCacheControlHeader="true"
   shutdownTimeout="90"
   useFullyQualifiedRedirectUrl="false"
   waitChangeNotification="0" />

예제

다음 예제에서는 ASP.NET 응용 프로그램에 대해 HTTP 런타임 매개 변수를 지정하는 방법을 보여 줍니다.

<configuration>
  <system.web>
  <httpRuntime maxRequestLength="4000"
    enable = "True"
    requestLengthDiskThreshold="512
    useFullyQualifiedRedirectUrl="True"
    executionTimeout="45"
    versionHeader="1.1.4128"/>
  </system.web>
</configuration>

요소 정보

구성 섹션 처리기

HttpRuntimeSection

구성 멤버

HttpRuntime

구성 가능한 위치

Machine.config

루트 수준의 Web.config

응용 프로그램 수준의 Web.config

가상 또는 실제 디렉터리 수준의 Web.config

요구 사항

Microsoft 인터넷 정보 서비스 (IIS) 5.0 이상

참고 항목

참조

system.web 요소(ASP.NET 설정 스키마)

configuration 요소(일반 설정 스키마)

System.Configuration

HttpRuntimeSection

HttpRuntime

개념

Securing Configuration

기타 리소스

일반 구성 설정(ASP.NET)

Configuring ASP.NET Applications