AZ Tools

Referrer-Policy 头构建器

网络

Referrer-Policy 头控制当用户点击链接或你的页面发出子资源请求时,`Referer` 请求头中包含多少你的 URL。此构建器让你选择八种标准策略之一,并查看在三个重要场景中究竟会发送什么:同源请求、HTTPS 上的跨源请求,以及降级到 HTTP 的跨源请求。响应头和 `<meta>` 形式都被发出,所以你可以从服务器或在 CDN 缓存的 HTML 中应用策略。

响应头
Referrer-Policy: strict-origin-when-cross-origin
Meta 标签形式
<meta name="referrer" content="strict-origin-when-cross-origin">
发送内容
场景发送的 Referer
同源(HTTPS→HTTPS,同主机)https://app.example.com/page?id=42
跨源(HTTPS→HTTPS,不同主机)https://api.other.com
降级(HTTPS→HTTP)(no header)

在每个 HTML 响应上应用此头。`<meta>` 形式在你无法控制头时(不让你设置的静态托管等)有用。

使用方法

  1. 选择策略。现代浏览器的默认值是 `strict-origin-when-cross-origin` —— 从 HTTPS 到 HTTPS 跨源时只泄露源,降级时什么都不发。
  2. 阅读三个示例行,查看浏览器究竟会发送什么。
  3. 复制响应头(首选)或 `<meta>` 标签(在你无法控制头的 HTML 页面内工作)。

常见问题

哪个策略是安全默认?
`strict-origin-when-cross-origin`。同源时发送完整 URL(你的分析仍然工作),跨源 HTTPS 时只发源,降级到 HTTP 时什么都不发。如果你不设置策略,这是现代浏览器的隐式默认值。
为什么 `unsafe-url` 被标记?
它向每个目的地发送完整 URL(包括查询字符串),甚至在 HTTPS→HTTP 降级时也是。查询字符串经常包含令牌、id 和个人信息 —— `unsafe-url` 把它们泄露给网络和目的地的任何广告/分析/嵌入。

相关工具