The ASP ServerVariables Collection retrieves the values of predetermined environment variables and requests header information.
The ASP ServerVariables collection can provide you with quite a bit of information found in the headers such as IP addresses, server name, virtual path, request method, etc.
It is a common approach to use the ServerVariables collection to obtain your visitors’ IP address, user agent (browser) info, etc. The list of ServerVariables will depend on the server software and on the browser being used.
Syntax
Request.ServerVariables (SERVER_VARIABLE)
Example
In this example, you can use the Response.Write
method in conjunction with a For
..Next
loop to enumerate the ServerVariables Collection
<!DOCTYPE html>
<html>
<head>
<title>Server Variables</title>
<style type="text/css">
table {
width:60%;
margin:20px auto;
border:1px solid gray;
border-collapse:collapse;
}
tr {
border:1px solid gray;
vertical-align:top;
}
td {
border:1px solid gray;
padding:10px;
}
</style>
</head>
<body>
<%
Response.Write("<table>")
For Each x In Request.ServerVariables
Response.Write("<tr>")
Response.Write("<td>" & x & "</td><td>" & Request.ServerVariables(x) & "</td>")
Response.Write("</tr>")
Next
Response.Write("</table>")
%>
</body>
</html>
The following is a listing of the server variables that can be accessed in the ASP ServerVariables Collection.
Server_Variable | Description |
---|---|
ALL_HTTP | All HTTP headers sent by the client. |
ALL_RAW | Retrieves all headers in raw form. |
APPL_MD_PATH | Retrieves the metabase path of the application. |
APPL_PHYSICAL_PATH | Retrieves the physical path corresponding to the meta base path. |
AUTH_PASSWORD | Retrieves the value entered in the client’s authentication dialog. |
AUTH_TYPE | The authentication method that the server uses to validate users. |
AUTH_USER | Retrieves the raw authenticated user name. |
CERT_COOKIE | Retrieves the unique ID for client certificate as a string. |
CERT_FLAGS | bit0 is set to 1 if the client certificate is present and bit1 is set to 1 if the certification authority of the client in invalid. |
CERT_ISSUER | Retrieves the issuer field of the client certificate. |
CERT_KEYSIZE | Retrieves the number of bits in Secure Sockets Layer connection key size. |
CERT_SECRETKEYSIZE | Retrieves the number of bits in server certificate private key. |
CERT_SERIALNUMBER | Retrieves the serial number field of the client certificate. |
CERT_SERVER_ISSUER | Retrieves the issuer field of the server certificate. |
CERT_SERVER_SUBJECT | Retrieves the subject field of the server certificate. |
CERT_SUBJECT | Retrieves the subject field of the client certificate. |
CONTENT_LENGTH | Retrieves the length of the content as sent by the client. |
CONTENT_TYPE | Retrieves the data type of the content. |
GATEWAY_INTERFACE | Retrieves the revision of the CGI specification used by the server. |
HTTP_<HeaderName> | Retrieves the value stored in the header HeaderName . |
HTTP_ACCEPT | Retrieves the value of the Accept header. |
HTTP_ACCEPT_LANGUAGE | Retrieves a string describing the language to use for displaying content. |
HTTP_COOKIE | Retrieves the cookie string included with the request. |
HTTP_REFERER | Retrieves a string containing the URL of the page that referred the request. If redirected, HTTP_REFERER is empty. |
HTTP_USER_AGENT | Retrieves a string describing the browser that sent the request. |
HTTPS | Retrieves ON or OFF depending on if the request came in through HTTPS or not. |
HTTPS_KEYSIZE | Retrieves the number of bits in Secure Sockets Layer connection key size. |
HTTPS_SECRETKEYSIZE | Retrieves the number of bits in server certificate private key. |
HTTPS_SERVER_ISSUER | Retrieves the issuer field of the server certificate. |
HTTPS_SERVER_SUBJECT | Retrieves the subject field of the server certificate. |
INSTANCE_ID | The ID for the IIS instance in textual format. |
INSTANCE_META_PATH | The meta base path for the instance of IIS that responds to the request. |
LOCAL_ADDR | Retrieves the server address on which the request came in. |
LOGON_USER | Retrieves the Windows account that the user is logged into. |
PATH_INFO | Retrieves extra path information as given by the client. |
PATH_TRANSLATED | A translated version of PATH_INFO that takes the path and performs any necessary virtual-to-physical mapping. |
QUERY_STRING | Retrieves the variables and values stored in the string following the question mark (?) in the HTTP request. |
REMOTE_ADDR | Retrieves the IP address of the remote host making the request. |
REMOTE_HOST | Retrieves the name of the host making the request. |
REMOTE_USER | Retrieves an unmapped user-name string sent in by the user. |
REQUEST_METHOD | Retrieves the method used to make the request. |
SCRIPT_NAME | Retrieves a virtual path to the script being executed. |
SERVER_NAME | Retrieves the server’s host name, DNS alias, or IP address as it would appear in self-referencing URLs. |
SERVER_PORT | Retrieves the port number to which the request was sent. |
SERVER_PORT_SECURE | Retrieves a string that contains 0 or 1. If the port is secure, the value will be 1. Otherwise, 0. |
SERVER_PROTOCOL | Retrieves the name and revision of the request information protocol. |
SERVER_SOFTWARE | Retrieves the name and version of the server software that answers the request and runs the gateway. |
URL | Retrieves the base portion of the URL. |
In the case where you only need to retrieve one server_variable
, you could do so by using the Request.ServerVariables
collections.
<%
Response.Write(Request.ServerVariables("REMOTE_ADDR"))
%>