现在的位置: 网页制作教程网站制作经验 >正文
asp学习教程

ASP中通过什么方法获取上一个请求页面(上一页)来判断网址(访客)来源

发表于2016/10/9 网站制作经验 4条评论 ⁄ 热度 5,463℃
导语:我们在写程序时,经常会用到上一个请求页面地址,用来判断网址来源,根据不同来源执行不同的操作。这时ASP中的Request.ServerVariables(HTTP_REFERER)就会派上用场了,本文结合实例着重讲解Request.ServerVariables(HTTP_REFERER)的使用方法和使用范围。

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器藉此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP 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)就介绍到这里,希望可以帮到您。

  • 程序员

    这个可以判断请求来自哪个域名。