【Java Web】HTTP请求消息头——Referer

来源:互联网 发布:美国退出tpp知乎 编辑:程序博客网 时间:2024/06/15 00:52

  浏览器向服务器发出的请求,可能是直接在浏览器中输入URL地址而发出,也可能是单击一个网页上的超链接而发出。对于第一种直接在浏览器地址中输入URL地址的情况,浏览器不会发送Referer请求头,而对于第二种情况,浏览器会使用Referer头字段标识发出请求的超链接所在的网页的URL。例如,本地Tomcat服务器的chapter03项目中有一个HTML文件GET.html,GET.html中包含一个指向远程服务器的超链接,当单击这个超链接向服务器发送GET请求时,浏览器会在发送的请求消息中包含Referer头字段,如下所示:

Referer:http://localhost:8080/chapter03/GET.html

  Referer头字段非常有用,常被网站管理人员用来追踪网站的访问者是如何导航进入网站的。同时,Referer头字段还可以用于网站的防盗链。

  什么是盗链呢?假设一个网站的首页中想显示一些图片信息,而在该网站的服务器中并没有这些图片资源,它通过在HTML文件中使用img标记链接到其他网站的图片资源,将其展示给浏览者,这就是盗链。盗链的网站提高了自己的访问量,却加重了被链接网站服务器的负担,损害了其合法利益。所以,一个网站为了保护自己的资源,可以通过Referer头检测出从哪里链接到当前的网页或资源,一旦检测到不是通过本站的链接进行的访问,可以进行阻止访问或者跳转到指定的页面。

0 0
原创粉丝点击