理论上,浏览器不会将引用信息从 HTTPS 传递到 HTTP 站点。根据我的经验,这一直是正确的。但我刚刚发现了一个例外,我想了解它为什么有效,以便我也可以使用它。
在https://www.google.ca/上搜索“我的推荐人是什么”,
例如:https : //www.google.ca/search? q = what+is+my+referer
有几个站点会显示引用。他们似乎都在不应该“工作”的时候“工作”。例如,单击 www.whatismyreferer.com 之一。我得到:
Your referer:
https://www.google.ca/
Run Code Online (Sandbox Code Playgroud)
请注意,有时,我很少会得到“没有推荐人”的结果。返回并再次单击该链接,下次它就会“工作”。
这不应该发生。www.whatismyreferer.com 是一个非 HTTPS 站点。不应传递引用标头,但确实传递了。
这里发生了什么,我如何从我的 HTTPS 站点到我链接到的 HTTP 站点执行相同的操作?