document.referrer来自哪里?

时间:2016-08-15 14:17:18

标签: javascript http http-referer

我在http://localhost/test.html处有以下脚本:

<script>
alert(document.referrer);
</script>

如果我直接访问它,结果是一个空警报,这并不奇怪。

如果我从http://example.com/different.html处的其他文档进行链接,那么该提醒将是该网址,这也不奇怪。

令我感到惊讶的是,如果我拦截HTTP请求并更改Referer Header:

GET /test.html HTTP/1.1
Host: localhost
Referer: test

然后,警报仍会提醒原始网址,而不是test

那么,如果不是来自referer HTTP Header,document.referrer来自哪里?它是否完全不受HTTP请求的影响?是否有标准,或者不同的浏览器是否采用不同的方式处理?有没有办法影响它,而不是自己创建一个链接到代码的新文件?

1 个答案:

答案 0 :(得分:0)

该值由浏览器设置,我的意思是浏览器正在设置值&#34; test&#34;当你在做http请求时。