Переменные сервера IIS

Переменные сервера IIS предоставляют сведения о сервере, соединении с клиентом и текущем запросе на подключение. Кроме того, для задания пользовательских переменных сервера можно использовать правила перезаписи входящего URL-адреса.

Примечание

Не все переменные сервера, перечисленные в этом документе, доступны в версиях IIS, предшествующих IIS 8.5.

Переменная сервера Описание
ALL_HTTP Все заголовки HTTP, отправленные клиентом. Заголовки имеют префикс с HTTP_ и прописными буквами.
Например HTTP_ACCEPT_ENCODING:gzip, deflate, br.
ALL_RAW Все заголовки HTTP, отправленные клиентом в необработанном виде.
Например Accept-Encoding: gzip, deflate, br.
APPL_MD_PATH Путь к метабазе приложения.
APPL_PHYSICAL_PATH Физический путь к приложению.
APP_POOL_CONFIG Физический путь к временной конфигурации пула приложений IIS.
APP_POOL_ID Имя пула приложений, в котором выполняется рабочий процесс IIS, обрабатывающий запрос.
AUTH_PASSWORD Пароль, предоставленный клиентом для проверки подлинности с помощью обычной проверки подлинности.
AUTH_TYPE Метод проверки подлинности, который сервер использует для проверки пользователей.
Это не означает, что пользователь прошел проверку подлинности, если AUTH_TYPE содержит значение и схема проверки подлинности не является базовой или интегрированной проверка подлинности Windows. Сервер разрешает схемы проверки подлинности, которые он изначально не поддерживает, так как фильтр ISAPI может обрабатывать именно такую схему.
AUTH_USER Имя пользователя, являющегося производным от заголовка авторизации, отправленного клиентом, перед сопоставлением имени пользователя с учетной записью Windows. Эта переменная ничем не отличается от REMOTE_USER. Если на веб-сервере установлен фильтр проверки подлинности, который сопоставляет входящих пользователей с учетными записями, используйте LOGON_USER для просмотра сопоставленного имени пользователя.
CACHE_URL Для использования только в приложениях ISAPI. Возвращает однозначное имя текущего URL-адреса. Необходимо использовать версию Этой переменной в Юникоде в сочетании с функцией недействительности кэша режима ядра, чтобы исключить записи, помещенные в кэш HSE_REQ_VECTOR_SEND.
CERT_COOKIE Уникальный идентификатор сертификата клиента, возвращаемый в виде строки. Его можно использовать в качестве подписи для всего сертификата клиента.
CERT_FLAGS Bit0 имеет значение 1, если сертификат клиента присутствует.
Bit0 имеет значение 1, если центр сертификации сертификата клиента недопустим (то есть он отсутствует в списке признанных центров сертификации на сервере).
Если бит 1 CERT_FLAGS имеет значение 1, что указывает на то, что сертификат недопустим, iis версии 4.0 и более поздних отклонит сертификат. В более ранних версиях IIS сертификат не отклоняется.
CERT_ISSUER Поле издателя сертификата клиента.
CERT_KEYSIZE Число битов в размере ключа подключения SSL/TLS.
CERT_SECRETKEYSIZE Число битов в закрытом ключе сервера SSL/TLS.
CERT_SERIALNUMBER Серийный номер сертификата клиента.
CERT_SERVER_ISSUER Поле поставщика сертификата сервера.
CERT_SERVER_SUBJECT Поле темы сертификата сервера.
CERT_SUBJECT Поле темы сертификата клиента.
CONTENT_LENGTH Длина текста запроса.
CONTENT_TYPE Тип MIME текста запроса. Используется с запросами, которые содержат вложенные сведения, такие как GET, POST и PUT.
CRYPT_CIPHER_ALG_ID Алгоритм шифрования, используемый для установления соединения. Шестнадцатеричное значение алгоритма устанавливается в типе данных ALG_ID.
Например, 256-разрядный AES(CALG_AES_256) будет иметь значение 6610.
CRYPT_HASH_ALG_ID Алгоритм хэширования, используемый для создания кодов проверки подлинности сообщений (MAC). Шестнадцатеричное значение алгоритма устанавливается в типе данных ALG_ID.
Например, MD5(CALG_MD5) будет иметь значение 8003.
CRYPT_KEYEXCHANGE_ALG_ID Алгоритм обмена ключами, используемый для установления соединения. Шестнадцатеричное значение алгоритма устанавливается в типе данных ALG_ID.
Например, эллиптическая кривая Diffie-Hellman алгоритм обмена ключами (CALG_ECDH) будет иметь значение aa05.
CRYPT_PROTOCOL Криптографический протокол, используемый для установления соединения. Шестнадцатеричное значение протокола устанавливается в SecPkgContext_ConnectionInfo структуре.
Например, TLS 1.2 будет иметь значение 400.
DOCUMENT_ROOT Физический путь к каталогу веб-сайта IIS.
FORWARDED_URL Переадресованный URL-адрес.
GATEWAY_INTERFACE Редакция спецификации CGI, используемой сервером. Формат — CGI/revision.
HTTPS Возвращает значение ON , если запрос поступил через безопасный канал (например, SSL); или возвращает значение OFF, если запрос предназначен для небезопасного канала.
HTTPS_KEYSIZE Число битов в размере ключа подключения SSL/TLS.
HTTPS_SECRETKEYSIZE Число битов в закрытом ключе сертификата сервера.
HTTPS_SERVER_ISSUER Поле издателя сертификата сервера.
HTTPS_SERVER_SUBJECT Поле "Тема" сертификата сервера.
HTTP_METHOD Метод, используемый для выполнения запроса.
HTTP_URL Необработанный закодированный URL-адрес.
Например /vdir/default.aspx?querystring.
HTTP_VERSION Имя и версия протокола запроса (необработанная форма SERVER_PROTOCOL).
INSTANCE_ID Идентификатор сайта IIS.
INSTANCE_META_PATH Путь к метабазе для экземпляра IIS, который отвечает на запрос.
INSTANCE_NAME Имя сайта IIS.
LOCAL_ADDR Адрес сервера, по которому поступил запрос. Это важно на компьютерах, где может быть несколько IP-адресов, привязанных к компьютеру, и вы хотите узнать, какой адрес использовался в запросе.
LOGON_USER Учетная запись Windows, которую пользователь олицетворяет при подключении к веб-серверу. Используйте REMOTE_USER, UNMAPPED_REMOTE_USER или AUTH_USER для просмотра необработанного имени пользователя, содержащегося в заголовке запроса. Единственный раз, когда LOGON_USER имеет значение, отличное от этих других переменных, — если у вас установлен фильтр проверки подлинности.
MANAGED_PIPELINE_MODE Режим управляемого конвейера пула приложений, в котором выполняется рабочий процесс IIS, обрабатывающий запрос.
PATH_INFO Сведения о пути, предоставленные клиентом, например /vdir/myisapi.dll/zip. Если эти сведения поступают из URL-адреса, они декодируются сервером перед передачей в скрипт CGI или фильтр ISAPI.
Если для свойства метабазы AllowPathInfoForScriptMappings задано значение true (для поддержки эксклюзивных функций CGI), PATH_INFO будет содержать /zip только приложения ISAPI, такие как ASP, прервутся.
PATH_TRANSLATED Физический путь, который сопоставляется с виртуальным путем в PATH_INFO, например c:\inetpub\wwwroot\vdir\myisapi.dll. Эта переменная используется службами IIS во время обработки приложений ISAPI.
Если свойство метабазы AllowPathInfoForScriptMappings имеет значение true (для поддержки эксклюзивных функций CGI), PATH_INFO будут содержать /zip только приложения ISAPI, такие как ASP, будут работать.
QUERY_STRING Сведения о запросе, хранящиеся в строке, следующей за вопросительным знаком (?) в HTTP-запросе.
REMOTE_ADDR IP-адрес удаленного узла, выполняющего запрос.
REMOTE_HOST Имя узла, выполняющего запрос. Если сервер не содержит этих сведений, он установит REMOTE_ADDR и оставьте их пустыми.
REMOTE_PORT Номер порта клиента TCP-подключения.
REMOTE_USER Имя пользователя, являющегося производным от заголовка авторизации, отправленного клиентом, перед сопоставлением имени пользователя с учетной записью Windows. Если на веб-сервере установлен фильтр проверки подлинности, который сопоставляет входящих пользователей с учетными записями, используйте LOGON_USER для просмотра сопоставленного имени пользователя.
REQUEST_FILENAME Физический путь для текущего запроса.
REQUEST_FLAGS Флаги HTTP_REQUEST.
Например, HTTP_REQUEST_FLAG_HTTP2 флаг будет установлен для запросов HTTP/2.
REQUEST_METHOD Метод, используемый для выполнения запроса.
REQUEST_URI Путь абсолютной части URI.
Например, https://contoso.com:8042/over/there?name=ferret возвращается /over/there
SCRIPT_FILENAME Физический путь к текущему запросу.
SCRIPT_NAME Виртуальный путь к выполняемму скрипту.
SCRIPT_TRANSLATED Путь расширенной длины к запрошенным файлам (с префиксом \\?\).
SERVER_ADDR IP-адрес, к которому привязан сайт.
SERVER_NAME Имя узла сервера, псевдоним DNS или IP-адрес, которые будут отображаться в URL-адресах, ссылающихся на себя.
SERVER_PORT Номер порта сервера, на который был отправлен запрос.
SERVER_PORT_SECURE Строка, содержащая или 01. Если запрос обрабатывается на защищенном порту, это 1значение . В противном случае значение равно 0.
SERVER_PROTOCOL Имя и редакция протокола сведений о запросе. Формат — протокол или редакция. (Каноническая форма HTTP_VERSION.)
SERVER_SOFTWARE Имя и версия серверного программного обеспечения, которое отвечает на запрос и запускает шлюз. Формат : имя или версия.
UNENCODED_URL Необработанный некодированный URL-адрес.
UNMAPPED_REMOTE_USER Имя пользователя, полученное из заголовка авторизации, отправленного клиентом, перед сопоставлением имени пользователя с учетной записью Windows (аналогично REMOTE_USER). Если на веб-сервере установлен фильтр проверки подлинности, который сопоставляет входящих пользователей с учетными записями, используйте LOGON_USER для просмотра сопоставленного имени пользователя.
URL-адрес Базовая часть URL-адреса без сведений о строках запросов.