我在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请求的影响?是否有标准,或者不同的浏览器是否采用不同的方式处理?有没有办法影响它,而不是自己创建一个链接到代码的新文件?
答案 0 :(得分:0)
该值由浏览器设置,我的意思是浏览器正在设置值&#34; test&#34;当你在做http请求时。