异步请求中,Referer 属性是如何工作的?

异步请求中,Referer 属性是如何工作的?

异步请求中的 referer 属性探究

当用户从网站 B 跳转到网站 A 时,网站 A 发起的异步请求是否会包含 Referer 属性?

答案:

默认情况下,网站 A 发起的异步请求会包含 Referer 属性,该属性的值指向用户跳转之前的网站。

解决不携带 Referer 的方法:

1. 在网站 A 的头部添加元标签:

<meta name="referrer" content="no-referrer" />

通过添加此元标签,网站 A 的所有跳转请求都将不会携带 Referer 属性。

2. 使用 window.open():

window.open('javascript:window.name;', '<script>location.replace("' + 跳转 URL + '")</script>');

这种方法使用 window.open() 函数创建一个隐藏的窗口,然后使用 location.replace() 跳转到目标 URL,从而不会向网站 A 发出的异步请求发送 Referer 属性。

3. 使用 iframe

document.body.appendChild(document.createElement('iframe')).src='javascript:"<script>top.location.replace('' + 跳转 URL + '')</script>"';

将此 iframe 添加到网站 A 的页面后,它将创建具有不同源的页面。用户点击此 iframe 时,将不会发送 Referer 属性到网站 A 的异步请求中。

以上就是异步请求中,Referer 属性是如何工作的?的详细内容,更多请关注其它相关文章!