javascript - Open.window() Document.referrer 从 HTTPS 站点到 HTTP 站点为空

标签 javascript nginx https http-headers

Site1.com 提供了通过按钮在另一个窗口中打开 Site2.com 的可能性。 Site2.com 检查 document.referrer。只要 Site1.com 和 Site2.com 使用 HTTP 一切正常,并且 referrer 属性包含 Site1.com 的 URL。

如果 Site1.com 使用 SSL ( https://site1.com ) 运行,但 Site2.com 不使用,则引荐来源网址突然为空。

https://site1.com 上的 JS 客户端代码

window.open("http://site2.com", "mySite2.com")

Site2.com 通过以下方式检查 JS 客户端代码中的引荐来源网址:

document.referrer

结果是空的。

我的问题: 这是 Javascript 问题还是 Nginx 问题?为什么在 Site1.com 上使用 HTTPS 时 referrer 为空?

同样,如果两个站点都使用 HTTP,则一切正常。引荐来源网址不会在 Site2.com 上传递,因为 Site1.com 使用的是 HTTPS。

最佳答案

都没有。这是浏览器的安全策略。当从安全站点转到非安全站点时,他们不会发送引荐来源网址。

关于javascript - Open.window() Document.referrer 从 HTTPS 站点到 HTTP 站点为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22464166/

相关文章:

ssl - 配置 NGINX + CloudFlare + SSL

javascript - 在 IE 中添加/删除选择列表选项

javascript - 使用 CSS 更改当前页面的链接颜色

docker - 使用docker时如何更改nginx的端口

html - 样式表在 nginx 虚拟机中不起作用

amazon-web-services - AWS Elastic Beanstalk Namecheap SSL 配置

javascript - 如何使用方形代码方法创建 secret 消息应用程序?

javascript - 如何使用 .on ('click' 收集 jquery 中的随机 id )

node.js - 如何使用 ssl 和同一域名运行 api 和网站

apache - 如何在不通过健康检查的情况下在亚马逊 Elastic Beanstalk 上强制使用 https