HTTP 引荐标头是由浏览器根据所需的标准使用引荐来源政策创建的,尽管大多数浏览器都使用通用标准,但浏览器如何处理服务器指令存在一些差异,主要是移动 Web 浏览器没有很好地配合 WWWC 关于这个问题的建议。
那么为什么需要不同的 HTTP referrer 标头呢?要理解这一点,我们需要先看看这些标头是用来做什么的。最简单形式的主要目的是“将信息从原始页面传送到新页面”。
我们在网络中看到“信息”这个词的任何地方都附有一个信息安全概念,HTTP 标头也不例外。根据header携带的信息类型,服务器可以指定需要使用的referrer策略类型。以下是 W3 的推荐人策略列表
enum ReferrerPolicy {
"",
"no-referrer",
"no-referrer-when-downgrade",
"same-origin",
"origin",
"strict-origin",
"origin-when-cross-origin",
"strict-origin-when-cross-origin",
"unsafe-url"
};
上面包含的推荐人政策链接中提供了有关其中每一项的详细信息。
举个例子;使用谷歌搜索“黄页”。在这种情况下
来源:https ://www.google.ie
推荐人:https : //www.google.ie/
推荐人政策:起源
生成的网址:https ://www.google.ie/gen_204?atyp=i&ct=&cad=udla=3&ei=x65kGDkdyKGHDkF0KeoBg&e=12&zx=1494785478502
第一个结果的链接是
https://www.google.ie/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwiA26TfiHSGDFHKFAKHQXoCWUQFggoMBB&url=https%3A%2F%2Fwww.goldenpages.ie%2F&usg=AFQjCNGTG-tsBSFHgMkXw_GuvOcLE
而实际的 URL 是https://www.goldenpages.ie/
当我们实际点击链接时,referrer 变为
推荐人:https : //www.goldenpages.ie/推荐人政策是
推荐人政策:降级时无推荐人
这意味着如果我们从当前页面单击另一个链接,我们将不会看到与我们在 google 搜索结果页面的 URL 中看到的参数相似的所有附加参数。
证明是这样的;单击当前页面中的任何链接并观察引荐来源标题根据策略类型变化(如果您使用开发人员工具并检查网络活动,可以在相关的 js 文件中找到)
当我单击“列出您的业务”链接时,推荐人保持为
https://www.goldenpages.ie/list-your-business/
并且没有传递其他参数
所以只是整理一下这个混乱的解释;生成的 URL 取决于针对推荐人策略设置的规则,可能是没有参数的简单基本规则,也可能是非常长的 URL,其中包含与用户和导航来源相关的大量信息。
注意: URL 不起作用我弄乱了一些字母。