Referrer-Policy

https://blog.csdn.net/qq_43595018/article/details/135239261

Referrer-Policy 是一个 HTTP 响应头,它允许网站所有者控制用户从他们的页面发出请求时 Referer(通常拼写为 “Referrer”)头部的值。这个策略对于保护用户隐私和确保敏感信息不通过 Referer 头部泄露给第三方非常重要。

当用户点击链接或提交表单从一个页面导航到另一个页面时,浏览器通常会在新的请求中包含一个 Referer 头部,指出用户来自哪个页面。然而,在某些情况下,比如从 HTTPS 页面链接到 HTTP 页面,或者从包含敏感信息(如账户信息或搜索查询)的 URL 导航时,发送完整的 Referer 信息可能不是最佳选择。

以下是 Referrer-Policy 可能的值及其含义:

  • no-referrer: 对于所有的请求都不发送 Referer 头。
  • no-referrer-when-downgrade (默认): 当从 HTTPS 到 HTTP 或其他降级的情况下不发送 Referer 头;否则会发送。
  • origin: 发送源(即协议、主机名和端口号),但不包括路径和查询字符串。
  • origin-when-cross-origin: 同源请求发送完整 URL,跨源请求只发送源。
  • same-origin: 只有同源请求会发送 Referer 头,跨源请求则不会。
  • strict-origin: 跨源请求在协议安全级别下降时不发送 Referer 头,但在相同安全级别时发送源。
  • strict-origin-when-cross-origin: 类似于 origin-when-cross-origin,但是当安全级别下降时不会发送 Referer 头。
  • unsafe-url: 发送 Referer 头到所有请求,包括整个 URL(除了用户名、密码和片段)。

为了设置 Referrer-Policy,你可以在服务器配置文件中添加响应头,或者在 HTML 文档的 <head> 部分使用 <meta> 标签来定义。例如:

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

或者在服务器端设置 HTTP 响应头:

Referrer-Policy: no-referrer