Variables de servidor IIS

Las variables de servidor de IIS proporcionan información sobre el servidor, la conexión con el cliente y la solicitud actual en la conexión. Además, las reglas de reescritura de direcciones URL de entrada se pueden usar para establecer variables de servidor personalizadas.

Nota

No todas las variables de servidor enumeradas en este documento están disponibles en versiones de IIS anteriores a IIS 8.5.

Variable de servidor Descripción
ALL_HTTP Todos los encabezados HTTP enviados por el cliente. Los encabezados tienen el prefijo HTTP_ y se escriben en mayúsculas.
Por ejemplo: HTTP_ACCEPT_ENCODING:gzip, deflate, br
ALL_RAW Todos los encabezados HTTP enviados por el cliente en formato sin formato.
Por ejemplo: Accept-Encoding: gzip, deflate, br
APPL_MD_PATH Ruta de acceso de metabase de la aplicación.
APPL_PHYSICAL_PATH Ruta de acceso física de la aplicación.
APP_POOL_CONFIG Ruta de acceso física de la configuración temporal del grupo de aplicaciones de IIS.
APP_POOL_ID Nombre del grupo de aplicaciones que ejecuta el proceso de trabajo de IIS que controla la solicitud.
AUTH_PASSWORD La contraseña proporcionada por el cliente para autenticarse mediante la autenticación básica.
AUTH_TYPE Método de autenticación que usa el servidor para validar a los usuarios.
No significa que el usuario se haya autenticado si AUTH_TYPE contiene un valor y el esquema de autenticación no es básico o integrado autenticación de Windows. El servidor permite esquemas de autenticación que no admite de forma nativa porque un filtro ISAPI puede controlar ese esquema en particular.
AUTH_USER El nombre del usuario tal y como se deriva del encabezado de autorización enviado por el cliente, antes de asignar el nombre de usuario a una cuenta de Windows. Esta variable no es diferente de REMOTE_USER. Si tiene instalado un filtro de autenticación en el servidor web que asigna usuarios entrantes a cuentas, use LOGON_USER para ver el nombre de usuario asignado.
CACHE_URL Solo para su uso en aplicaciones ISAPI. Devuelve el nombre inequívoca de la dirección URL actual. Es necesario usar la versión Unicode de esta variable junto con la función de invalidación de caché del modo kernel para expulsar las entradas colocadas en la memoria caché por HSE_REQ_VECTOR_SEND.
CERT_COOKIE Identificador único para el certificado de cliente, devuelto como una cadena. Esto se puede usar como firma para todo el certificado de cliente.
CERT_FLAGS bit0 se establece en 1 si el certificado de cliente está presente.
bit0 se establece en 1 si la entidad de certificación del certificado de cliente no es válida (es decir, no está en la lista de entidades de certificación reconocidas en el servidor).
Si el bit 1 de CERT_FLAGS se establece en 1, lo que indica que el certificado no es válido, IIS versión 4.0 y posterior rechazará el certificado. Las versiones anteriores de IIS no rechazarán el certificado.
CERT_ISSUER Campo emisor del certificado de cliente.
CERT_KEYSIZE Número de bits en el tamaño de la clave de conexión SSL/TLS.
CERT_SECRETKEYSIZE Número de bits de la clave privada del servidor SSL/TLS.
CERT_SERIALNUMBER Número de serie del certificado de cliente.
CERT_SERVER_ISSUER Campo del emisor del certificado del servidor.
CERT_SERVER_SUBJECT Campo de asunto del certificado del servidor.
CERT_SUBJECT Campo de asunto del certificado del cliente.
CONTENT_LENGTH Longitud del cuerpo de la solicitud.
CONTENT_TYPE Tipo MIME del cuerpo de la solicitud. Se usa con consultas que tienen información adjunta, como GET, POST y PUT.
CRYPT_CIPHER_ALG_ID Algoritmo de cifrado criptográfico utilizado para establecer la conexión. El valor hexadecimal del algoritmo se establece en el tipo de datos ALG_ID.
Por ejemplo, AES(CALG_AES_256) de 256 bits será 6610.
CRYPT_HASH_ALG_ID Algoritmo hash usado para generar códigos de autenticación de mensajes (MAC). El valor hexadecimal del algoritmo se establece en el tipo de datos ALG_ID.
Por ejemplo, MD5(CALG_MD5) será 8003.
CRYPT_KEYEXCHANGE_ALG_ID Algoritmo de intercambio de claves utilizado para establecer la conexión. El valor hexadecimal del algoritmo se establece en el tipo de datos ALG_ID.
Por ejemplo, la curva elíptica Diffie-Hellman algoritmo de intercambio de claves (CALG_ECDH) será aa05.
CRYPT_PROTOCOL Protocolo criptográfico utilizado para establecer la conexión. El valor hexadecimal del protocolo se establece en la estructura SecPkgContext_ConnectionInfo.
Por ejemplo, TLS 1.2 será 400.
DOCUMENT_ROOT Ruta de acceso física del directorio del sitio web de IIS.
FORWARDED_URL Dirección URL reenviada.
GATEWAY_INTERFACE Revisión de la especificación CGI utilizada por el servidor. El formato es CGI/revisión.
HTTPS Devuelve ON si la solicitud entró a través de un canal seguro (por ejemplo, SSL); o devuelve OFF, si la solicitud es para un canal no seguro.
HTTPS_KEYSIZE Número de bits en el tamaño de la clave de conexión SSL/TLS.
HTTPS_SECRETKEYSIZE Número de bits de la clave privada del certificado de servidor.
HTTPS_SERVER_ISSUER Campo emisor del certificado de servidor.
HTTPS_SERVER_SUBJECT Campo asunto del certificado de servidor.
HTTP_METHOD Método utilizado para realizar la solicitud.
HTTP_URL Dirección URL codificada sin formato.
Por ejemplo: /vdir/default.aspx?querystring
HTTP_VERSION Nombre y versión del protocolo de solicitud (forma sin formato de SERVER_PROTOCOL).
INSTANCE_ID Id. de sitio de IIS.
INSTANCE_META_PATH Ruta de acceso de metabase para la instancia de IIS que responde a la solicitud.
INSTANCE_NAME Nombre del sitio de IIS.
LOCAL_ADDR Dirección del servidor en la que entró la solicitud. Esto es importante en los equipos en los que puede haber varias direcciones IP enlazadas al equipo y desea averiguar qué dirección ha usado la solicitud.
LOGON_USER La cuenta de Windows que el usuario suplanta mientras está conectado al servidor web. Use REMOTE_USER, UNMAPPED_REMOTE_USER o AUTH_USER para ver el nombre de usuario sin procesar contenido en el encabezado de solicitud. La única vez que LOGON_USER contiene un valor diferente al de estas otras variables es si tiene instalado un filtro de autenticación.
MANAGED_PIPELINE_MODE Modo de canalización administrada del grupo de aplicaciones que ejecuta el proceso de trabajo de IIS que controla la solicitud.
PATH_INFO Información de ruta de acceso, tal como proporciona el cliente, por ejemplo, /vdir/myisapi.dll/zip. Si esta información procede de una dirección URL, el servidor la descodifica antes de pasarla al script CGI o al filtro ISAPI.
Si la propiedad de metabase AllowPathInfoForScriptMappings se establece en true (para admitir la funcionalidad exclusiva de CGI), PATH_INFO solo contendrá /zip y se interrumpirán las aplicaciones ISAPI, como ASP.
PATH_TRANSLATED Ruta de acceso física que se asigna a la ruta de acceso virtual en PATH_INFO, por ejemplo, c:\inetpub\wwwroot\vdir\myisapi.dll. IIS usa esta variable durante el procesamiento de aplicaciones ISAPI.
Si la propiedad de metabase AllowPathInfoForScriptMappings se establece en true (para admitir la funcionalidad exclusiva de CGI), PATH_INFO solo contendrá /zip y se interrumpirán las aplicaciones ISAPI, como ASP.
QUERY_STRING Consulte la información almacenada en la cadena después del signo de interrogación (?) en la solicitud HTTP.
REMOTE_ADDR Dirección IP del host remoto que realiza la solicitud.
REMOTE_HOST Nombre del host que realiza la solicitud. Si el servidor no tiene esta información, establecerá REMOTE_ADDR y dejará esta opción vacía.
REMOTE_PORT Número de puerto de cliente de la conexión TCP.
REMOTE_USER Nombre del usuario, ya que se deriva del encabezado de autorización enviado por el cliente, antes de asignar el nombre de usuario a una cuenta de Windows. Si tiene instalado un filtro de autenticación en el servidor web que asigna usuarios entrantes a cuentas, use LOGON_USER para ver el nombre de usuario asignado.
REQUEST_FILENAME Ruta de acceso física de la solicitud actual.
REQUEST_FLAGS Marcas de HTTP_REQUEST.
Por ejemplo, la HTTP_REQUEST_FLAG_HTTP2 marca se establecerá para las solicitudes HTTP/2.
REQUEST_METHOD Método utilizado para realizar la solicitud.
REQUEST_URI Parte absoluta de la ruta de acceso del URI.
Por ejemplo https://contoso.com:8042/over/there?name=ferret , devolvería /over/there
SCRIPT_FILENAME Ruta de acceso física de la solicitud actual.
SCRIPT_NAME Ruta de acceso virtual al script que se ejecuta.
SCRIPT_TRANSLATED Ruta de acceso de longitud extendida al archivo solicitado (prefijo con \\?\).
SERVER_ADDR Dirección IP a la que está enlazado el sitio.
NOMBRE_DE_SERVIDOR El nombre de host, el alias DNS o la dirección IP del servidor, tal y como aparecería en las direcciones URL de autorreferencia.
SERVER_PORT Número de puerto del servidor al que se envió la solicitud.
SERVER_PORT_SECURE Cadena que contiene 0 o 1. Si la solicitud se controla en el puerto seguro, se trata de 1. De lo contrario, es 0.
SERVER_PROTOCOL Nombre y revisión del protocolo de información de la solicitud. El formato es protocolo/revisión. (Forma canónica de HTTP_VERSION).
SERVER_SOFTWARE Nombre y versión del software de servidor que responde a la solicitud y ejecuta la puerta de enlace. El formato es nombre o versión.
UNENCODED_URL Dirección URL sin codificar sin formato.
UNMAPPED_REMOTE_USER El nombre del usuario tal y como se deriva del encabezado de autorización enviado por el cliente, antes de asignar el nombre de usuario a una cuenta de Windows (igual que REMOTE_USER). Si tiene instalado un filtro de autenticación en el servidor web que asigna usuarios entrantes a cuentas, use LOGON_USER para ver el nombre de usuario asignado.
Resolución Parte base de la dirección URL sin ninguna información de cadena de consulta.