KNOWLEDGE ARTICLE

Referrer-Policy 是什么?

来源信息策略

控制跨页面请求时发送多少来源 URL 信息。

核心解释

Referrer-Policy 可以在隐私、统计归因和安全之间取舍。strict-origin-when-cross-origin 等策略会在跨站请求中只发送来源站点,而不暴露完整路径。

Referrer-Policy 如何控制来源 URL 泄露

浏览器从一个页面请求另一个资源时,可能在 Referer 标头中发送来源 URL。Referrer-Policy 控制发送完整地址、只发送来源站点,还是完全不发送,帮助网站在统计归因、兼容性与隐私之间取舍。标头名称历史上拼作 Referer,而策略名称使用 Referrer。

完整 URL 可能包含路径、查询参数和页面结构。如果应用把会话令牌、邮箱或内部标识放进 URL,跨站请求可能把这些信息带给第三方。根本措施是避免敏感数据进入 URL,策略则进一步限制正常导航和资源请求中的来源范围。

常见策略在同源、跨源和降级时如何变化

  • strict-origin-when-cross-origin 通常在同源发送完整 URL,跨源只发送 scheme、host、port,HTTPS 降级到 HTTP 时不发送。
  • no-referrer 完全不发送来源,隐私最强但会减少分析、联盟和安全日志中的归因信息。
  • same-origin 只在同源请求发送,origin 与 strict-origin 只提供来源站点,其中 strict 额外限制安全降级。
  • unsafe-url 可能在跨源发送完整路径,名称已经表明其隐私风险,除非有明确兼容需求通常不适合使用。
不同 Referrer-Policy 控制完整 URL、仅来源站点或不发送来源信息的范围
来源信息的隐私光圈用信息开口大小表现完整 URL、仅 Origin 与不发送三种暴露范围

页面、链接与响应头的策略优先级

网站可以通过响应头设置页面默认策略,也可在 meta、iframe 或单个链接的 referrerpolicy 属性中更细粒度控制。浏览器按照规范确定适用策略,第三方脚本和重定向链仍可能改变最终接收方。

策略收紧可能影响广告、支付回跳、联盟统计和防盗链,需要先识别真正依赖 Referer 的业务。安全逻辑不应把 Referer 当作可靠认证,因为它可以缺失,也不适合作为不可伪造身份。

实际应用与信息解读

响应中明确的 Referrer-Policy 可以直接展示,并按同源、跨源和降级场景解释预期行为。没有标头时浏览器会使用自己的默认策略,不能简单写成“发送完整来源”。

判断潜在泄露要结合 URL 是否包含敏感参数和页面加载的第三方资源。策略宽松是风险线索,只有实际数据路径明确时才适合说明可能后果。

重点关注

策略宽松可能泄露更多路径信息,过严则可能影响分析归因;应结合页面是否含敏感 URL 参数判断。

常见问题

设置 no-referrer 会影响网站功能吗?

可能影响依赖来源归因、联盟统计或防盗链的功能,应在收紧前识别业务依赖。

Referer 可以作为访问权限判断吗?

不应。它可能被浏览器策略省略,也可能被非浏览器客户端伪造,不能替代认证授权。

没有 Referrer-Policy 会发送完整 URL 吗?

现代浏览器通常有默认策略,具体行为取决于浏览器和请求场景,未明确配置时不宜作绝对判断。

权威资料