Работа с разделом <httpRuntime>
Раздел <httpRuntime> включает параметры, относящихся к среде выполнения HTTP ASP.NET. Параметры раздела включают установки максимального количества разрешенных запросов, размера запросов и времени хранения запросов. Ниже приведен синтаксис раздела <httpRuntime>.
<httpRuntime appRequestQueueLimit="number of requests" executionTimeout="seconds" maxRequestLength="Kbytes" minFreeLocalRequestFreeThreads="number of threads" minFreeThreads="number of threads" useFullyQualifiedRedirectUrl= "true | false" versionHeader="version string" />
Таблица 4.13 содержит перечень свойств раздела <httpRuntime>.
appRequestQueueLimit | Определяет максимальное количество запросов в очереди. Если для обработки запроса нет свободных потоков выполнения, он ставится в очередь. При заполнении очереди среда выполнения возвращает ошибку 503 Server Too Busy (Сервер занят). Параметр определяет, сколько запросов может быть помещено в очередь, пока не будет возвращена эта ошибка. |
executionTimeout | Определяет максимальное количество секунд, в течение которых запрос может обрабатываться, прежде чем будет принудительно завершен средой ASP.NET. |
maxRequestLength | Определяет максимальный размер запроса, поддерживаемый средой выполнения. Параметр связан с максимальным размером загружаемого файла, так как загружаемый файл включается в запрос HTTP. Он помогает защитить ваше приложение от атак типа denial of service (отказ в обслуживании), так как одним из методов этих атак является отправка на сервер слишком больших файлов. Значением по умолчанию является 4096 Kб или 4 Mб. |
minFreeLocalRequestFreeThreads | Определяет минимальное количество потоков выполнения, которое ASP.NET держит готовыми для выполнения новых локальных запросов. Эти потоки зарезервированы для запросов, поступающих от локальной системы. Иногда запросы генерируют дочерние запросы к локальной системе, и если поток выполнения для дочернего запроса недоступен, возникнет взаимная блокировка. Специальные потоки, зарезервированные для запросов локальной системы, помогают предотвратить возможность возникновения взаимных блокировок. |
minFreeThreads | Определяет минимальное количество свободных потоков выполнения, предназначенных для обработки новых запросов. |
useFullyQualifiedRedirectUrl | Определяет, используют ли перенаправления клиентов полные (абсолютные) адреса URL или относительные. Полный URL – это адрес, включающий в URL информацию о сайте (например, http://server/path). Относительный URL включает только путь относительно уже заданного пути сервера, (например /path/app2/admin.aspx). |
versionHeader | Определяет заголовочное значение версии, направляемое ASP.NET с каждым ответом HTTP. Оно используется в Microsoft Visual Studio .NET для определения версии ASP.NET. Это значение необязательно для эксплуатируемых сайтов и может быть отключено при помощи установки данного параметра в пустое значение или удаления этого атрибута. |
Ниже показан пример раздела <httpRuntime>.
<httpRuntime appRequestQueueLimit="100" executionTimeout="90" maxRequestLength="4096" minFreeLocalRequestFreeThreads="8" minFreeThreads="8" useFullyQualifiedRedirectUrl="false" versionHeader="1.1.4128" />
Одним из наиболее часто модифицируемых параметров <httpRuntime> является свойство maxRequestLength. Его обычно изменяют так, чтобы разрешить загрузку более крупных файлов. Однако помните, что каждый раз, когда вы увеличиваете это число, вы увеличиваете восприимчивость вашего сервера к атакам на отказ в обслуживании.