document.referrer 是否等于 HTTP referer header?

Does document.referrer equal the HTTP referer header?

如果我遵循 http://google.com to http://example.com 的正常 link, 通常我的浏览器发送到 example.com 的 http referrer header 是 google.com。 header 的值是否始终与 example.com 页面内的 document.referrer 的值相同?

客户端在请求header中发送的referer与JavaScript中可用的document.referrer相同。但是,您不能指望引荐来源信息始终可用。

由客户端发送信息。您可以在浏览器设置中将其关闭。

在 Firefox 中:https://www.technipages.com/firefox-enable-disable-referrer

或者您可以使用扩展程序将其关闭。

在Chrome中:https://chrome.google.com/webstore/detail/referer-control/hnkcfpcejkafcihlgbojoidoihckciin?hl=en

欺骗/发送任何你想要的推荐人也很容易。以 cURL 为例:

curl --referer http://whatever.com/bot.html http://www.example.com/

编辑: 您还可以禁用页面中的引荐来源网址发送,这样单击的链接或从该页面发出的 ajax 调用将不会发送引荐来源网址 header。只需将此标记添加到页面即可。

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

更多讨论在这里:https://whosebug.com/a/32014225/5601169