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

时间:2014-03-17 20:01:23

标签: 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时,为什么引用者为空?

同样,如果两个站点都在使用HTTP,那么一切正常。如果Site1.com使用HTTPS,那么推荐人在Site2.com上没有通过。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

根据HTTP 1.1协议。

  

如果使用安全传输引用页面,客户端不应在(非安全)HTTP请求中包含Referer头字段

Here是政策。

您无法使用http将https引用到网站。推荐人将来自

https到https 要么   http到https