Google 如何在搜索结果点击后设置 HTTP Referrer

Vla*_*adV 2 javascript http google-search http-headers referrer-policy

例如,此页面上的第一个搜索结果会导致较旧的 SO 问题,并带有以下 HTTP 请求:

GET /questions/4402502/how-does-google-set-the-http-referrer-when-someone-clicks-on-a-search-result-lin HTTP/1.1
Host    stackoverflow.com
Referer https://www.google.ru
Run Code Online (Sandbox Code Playgroud)

注意:

  1. Referer 标头中仅包含域名,不包含查询字符串。
  2. Google 通过 HTTPS 开放,而 SO 通过普通 HTTP 开放 - 尽管如此,Referer 标头是由浏览器发送的。
  3. 不涉及服务器端重定向,单击后打开的第一个 HTTP 查询将指向目标站点。

问题是,他们如何实现这一目标?

Vla*_*adV 5

Google 使用引荐来源网址政策。它们在页面中包含元标记:

<meta name="referrer" content="origin">
Run Code Online (Sandbox Code Playgroud)

这告诉浏览器使用“Origin Only”策略,即在任何后续请求中仅发送 Referrer 标头中的域信息。