异步请求中,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 属性是如何工作的?的详细内容,更多请关注其它相关文章!