Variables de servidor en ASP

  • Por
Vemos como obtener un listado de todas las variables del servidor en ASP, o en inglés Server Variables. Realizando un recorrido genérico al array request.servervariables.
En ASP existe una colección de variables de servidor o variables de entorno que pueden ser interesantes para el programador. Las variables del servidor ofrecen informaciones relativas tanto al propio servidor web como al cliente que está visitando la página.

Entre los datos que ofrecen se encuentran el nombre del servidor, el nombre del archivo que se está ejecutando, la IP del servidor, la del cliente que está solicitando la página, juego de caracteres, navegador que utiliza el cliente, etc.

La colección donde se encuentran todas las variables del servidor se encuentra en el array de ASP request.servervariables. Existen muchos valores distintos en ese array, cada uno asociado a un nombre.

Por ejemplo, para mostrar la IP del visitante ponemos:

<%=request.servervariables("REMOTE_ADDR")%>

Para conocer el navegador del usuario pondríamos:

<%=request.servervariables("HTTP_USER_AGENT")%>

O para ver la ruta física donde está el archivo ASP que se está ejecutando, dentro de la estructura del sistema de archivos del servidor (el disco duro y la ruta completa del archivo .asp):

<%=request.servervariables("APPL_PHYSICAL_PATH")%>

Recorrido genérico a el array request.servervariables

Una buena idea para conocer todas las variables que existen en el array de variables de servidor es hacer un recorrido genérico a request.servervariables. Para hacer ese recorrido podemos utilizar un bucle for each. Como esto:

for each variable in request.servervariables
    response.write "<br> " & variable & ": "
    response.write request.servervariables(variable)
next

Con esto mostraremos el nombre de cada variable junto con el valor de esa variable. Así podremos ver todas las variables que contiene el array junto con el dato que almacenan y podemos darnos cuenta de los datos que tenemos disponibles.

El resultado de ejecución de ese script en uno de nuestros servidores es el siguiente:

HTTP_CONNECTION:keep-alive HTTP_KEEP_ALIVE:300 HTTP_ACCEPT:text/xml,application/xml,application/xhtml+xml,text/html; q=0.9,text/plain; q=0.8,image/png,*/*; q=0.5 HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.7 HTTP_ACCEPT_ENCODING:gzip,deflate HTTP_ACCEPT_LANGUAGE:es-es,es;q=0.8,en-us;q=0.5,en;q=0.3 HTTP_COOKIE:ASPSESSIONIDASTATCRD=GAJDKNCANGABJAPEOGBONGFN; ASPSESSIONIDAQSBSCRD=LAJDPPEADNEMHDBKOCLAIMAD HTTP_HOST:www.dominio.com HTTP_USER_AGENT:Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9
ALL_RAW: Cache-Control: max-age=0 Connection: keep-alive Keep-Alive: 300 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Accept-Encoding: gzip,deflate Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3 Cookie: ASPSESSIONIDASTATCRD=GAJDKNCANGABJAPEOGBONGFN; ASPSESSIONIDAQSBSCRD=LAJDPPEADNEMHDBKOCLAIMAD Host: www.dominio.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9
APPL_MD_PATH: /LM/W3SVC/881/ROOT
APPL_PHYSICAL_PATH: C:\WWW\dominio.com\Html\
AUTH_PASSWORD:
AUTH_TYPE:
AUTH_USER:
CERT_COOKIE:
CERT_FLAGS:
CERT_ISSUER:
CERT_KEYSIZE:
CERT_SECRETKEYSIZE:
CERT_SERIALNUMBER:
CERT_SERVER_ISSUER:
CERT_SERVER_SUBJECT:
CERT_SUBJECT:
CONTENT_LENGTH: 0
CONTENT_TYPE:
GATEWAY_INTERFACE: CGI/1.1
HTTPS: off
HTTPS_KEYSIZE:
HTTPS_SECRETKEYSIZE:
HTTPS_SERVER_ISSUER:
HTTPS_SERVER_SUBJECT:
INSTANCE_ID: 881
INSTANCE_META_PATH: /LM/W3SVC/881
LOCAL_ADDR: 255.176.130.0
LOGON_USER:
PATH_INFO: /pruebas_dw/variables_server.asp
PATH_TRANSLATED: C:\WWW\dominio.com\dominio.com\Html\pruebas_dw\variables_server.asp
QUERY_STRING:
REMOTE_ADDR: 1.17.117.37
REMOTE_HOST: 1.17.117.37
REMOTE_USER:
REQUEST_METHOD: GET
SCRIPT_NAME: /pruebas_dw/variables_server.asp
SERVER_NAME: www.dominio.com
SERVER_PORT: 80
SERVER_PORT_SECURE: 0
SERVER_PROTOCOL: HTTP/1.1
SERVER_SOFTWARE: Microsoft-IIS/6.0
URL: /pruebas_dw/variables_server.asp
HTTP_CACHE_CONTROL: max-age=0
HTTP_CONNECTION: keep-alive
HTTP_KEEP_ALIVE: 300
HTTP_ACCEPT: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
HTTP_ACCEPT_CHARSET: ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING: gzip,deflate
HTTP_ACCEPT_LANGUAGE: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
HTTP_COOKIE: ASPSESSIONIDASTATCRD=GAJDKNCANGABJAPEOGBONGFN; ASPSESSIONIDAQSBSCRD=LAJDPPEADNEMHDBKOCLAIMAD
HTTP_HOST: www.dominio.com
HTTP_USER_AGENT: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9

Nota: he cambiado algún dato sensible de esta lista de variables, como la IP del visitante o la del servidor, o la ruta física de los archivos. Pero es perfecto para hacerse una idea de los contenidos que ofrece el array request.servervariables.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Alfa1romeo

11/5/2007
Y QUE HAY DE LA VARIABLE DEL SERVIDOR

HTTP_X_FORWARDED_FOR

????????????????????

DONDE PUEDO ENCONTRAR UN VERDADERO LISTADO DE TODAS TODAS LAS VARIABLES DEL SERVIDOR
???????????????????????????????????

Alejandro

28/5/2009
Gracias
Muy buen artículo, ha sido de mucha utilidad. Gracias.

jorge ham

27/7/2010
felicitaciones
Excelente

EDGAR

12/12/2014
GRACIAS
EXCELENTE APORTE, GRACIAS !!!

Oscar

05/7/2017
Gracias!
Me sirvió. Justo lo que buscaba,
Gracias!