HTTP_REFERER应用-阿里云开发者社区

开发者社区> 开发与运维> 正文

HTTP_REFERER应用

简介:

今天另一部门的同事自己写了一个html然后提交到服务器,进行数据校验,没有通过,我说你那个页面获取不到referer,他说怎么获取不到呢,我说你去写个动态的页面,就获得到了,他一直不相信,和我在这儿较了半天汁儿,最后还是回去写了,一试通过 了,其实,那个同事他是没有真正理解referer的意思,在这里就算给他补上一课。

简而言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。

下列情况是从浏览器的地址栏正常取得Request.ServerVariables("HTTP_REFERER"):

    1) 直接用<a href="">   

    2) 用Submit或<input type="image">提交的表单(POST或GET)

  3) 使用JavaScript提交的表单(POST或GET)

下面我们再看看Request.ServerVariables("HTTP_REFERER")不能正常取值的情况:

  1) 从收藏夹链接

  2) 单击主页或自定义的地址

  3) 在浏览器中直接输地址

  4) 使用JavaScript的Location.href或者是Location.replace()

  5) <%Response.Redirect%>

  6) <%Response.AddHeader%>或者是<mete http-equiv="refresh">转向

  7) 用XML加载地址

我那个同事就属于不能获取情况中的第二点,自己写一个html怎么可能有referer呢?好了,就这些吧。



本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/876095,如需转载请自行联系原作者

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章