Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果使用location.href=重定向到新网页,是否设置了REFERER?_Javascript_Http_Referer - Fatal编程技术网

Javascript 如果使用location.href=重定向到新网页,是否设置了REFERER?

Javascript 如果使用location.href=重定向到新网页,是否设置了REFERER?,javascript,http,referer,Javascript,Http,Referer,如果使用javascriptlocation.href=将用户重定向到新网页,目标web服务器会看到什么REFERER标头?除了一些例外,发送的标头是带有重定向的网页的标头,而不是执行重定向的网页的REFERER。这与服务器端重定向形成对比,服务器端重定向保留了原始引用 因此,如果访问者从a.html转到B.html,并且B.html触发location.href重定向到C.html,web服务器将看到B.html作为引用者。(如果您在服务器端执行了从B.html到C.html的重定向,A.ht

如果使用javascript
location.href=
将用户重定向到新网页,目标web服务器会看到什么REFERER标头?

除了一些例外,发送的标头是带有重定向的网页的标头,而不是执行重定向的网页的REFERER。这与服务器端重定向形成对比,服务器端重定向保留了原始引用

因此,如果访问者从
a.html
转到
B.html
,并且
B.html
触发
location.href
重定向到
C.html
,web服务器将看到
B.html
作为引用者。(如果您在服务器端执行了从
B.html
C.html
的重定向,
A.html
将是
C.html
的参考)


旧版本的将发送一个空白标题,就像(一如既往)从HTTPS重定向到HTTP一样。

它会看到它来自的页面,就像单击链接一样

要从任何页面进行测试,请重定向到phpinfo()页面或任何其他回显标题的页面,例如:

window.location='http://hosting.iptcom.net/phpinfo.php';

(从随机谷歌搜索中提取的页面)

大多数浏览器都会通过带有location.href的HTTP\u REFFERER,但IE在某些情况下不会

如果推荐人对您非常重要,那么您可以这样做:

function goTo(url) {
 var a = document.createElement("a");
 if(!a.click) { //Only IE has .click so if it doesnt exist use the simple method where the refferer is passed on other browsers.
  location.href = url;
  return;
 }
 a.setAttribute("href", url);
 a.style.display = "none";
 (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(a);
 a.click();
}

对不起,你能澄清一下你所说的“事先推荐人”是什么意思吗?