HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器藉此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。
Request.ServerVariables(HTTP_REFERE)使用方法:
比如有两个页面:a.asp和b.asp。
a.asp代码内容如下:
<a href="b.asp">我是超链接</a>
b.asp代码内容如下:
<% response.write(Request.ServerVariables(HTTP_REFERER)) %>
b.asp输出的结果是上一个请求的页面地址:域名地址/a.asp
Request.ServerVariables(HTTP_REFERE使用范围:
使用此方法获取请求页面地址虽然简单,但对请求页面通过何种方法链接或转向到本页却有一定的限制,否则在某些浏览器中将无法正确获取网址来源。
下面我们以本页地址为:local.asp 为例进行说明。
一、Request.ServerVariables(HTTP_REFERER) 能正常获取请求页面地址的情况:
1、请求页面使用标签链接到本页 local.asp:
<a href="local.asp">链接页</a>
2、请求页面提交表单到本页 local.asp(POST 或 GET 方式均可):
<form action="local.asp" method="post">
<!--通用提交按钮-->
<input type="submit" value="提交">
<!--自定义提交按钮-->
<button type="Submit"> 提交 </button>
<!--图像按钮-->
<input type="image" src="btn.gif">
</form>
3、请求页面使用 JS 方法提交表单到本页 local.asp(POST 或 GET 方式均可):
<form name="TestForm" action="local.asp" method="get"> <a href="javascript:void(0);" onclick="document.TestForm.submit();return false;"> JS提交 </a> </form>
二、Request.ServerVariables(HTTP_REFERER) 不能正常获取请求页面地址的情况:
1、从浏览器“收藏夹”、“主页”、“自定义地址”等直接打开本页。
2、在浏览器直接输入本页地址。
3、通过 JS 的以下方法转向到本页。
location.replace("local.asp"); window.location.replace("local.asp") ; location.href("local.asp"); window.location.href("local.asp") ;
4、使用 ASP 的 Redirect 方法定向到本页。
<% Response.Redirect "local.asp" %>
5、使用 Refresh 方法转向到本页。
<meta http-equiv="refresh" content="0;URL=local.asp"> <% Response.AddHeader "Refresh", "0;URL=local.asp" %>
6、使用 XML 加载本页。
好了,关于Request.ServerVariables(HTTP_REFERE)就介绍到这里,希望可以帮到您。