Referrer-Policy: strict-origin-when-cross-origin 是一种现代浏览器支持的引用来源(Referer)控制策略,用于决定在跨域请求中如何发送 Referer 请求头。
在这里插入图片描述


🔍 strict-origin-when-cross-origin 政策详解

✅ 行为说明:

该策略是 默认行为(在大多数现代浏览器中),其逻辑如下:

请求类型是否发送 RefererReferer 内容
同源请求(Same-origin)✅ 发送完整 URL(包括路径和查询参数)
跨源请求(Cross-origin)且安全上下文(HTTPS → HTTPS)✅ 发送仅发送源地址(Origin:协议 + 域名 + 端口)
跨源请求且从 HTTPS 发起 HTTP 请求(不安全降级)❌ 不发送

📋 示例场景

场景请求目标Referer 值
https://a.com/page1 跳转到 https://a.com/page2同源https://a.com/page1
https://a.com/page1 请求 https://b.com/api跨源(HTTPS→HTTPS)https://a.com
https://a.com/page1 请求 http://b.com/api跨源且降级 HTTP无 Referer

💡 与其他常见策略对比简表

Referrer Policy同源行为跨源(HTTPS→HTTPS)跨源降级(HTTPS→HTTP)
no-referrer
no-referrer-when-downgrade完整 URL完整 URL
same-origin完整 URL
origin仅源仅源仅源
strict-origin仅源仅源
strict-origin-when-cross-origin完整 URL仅源无 ✅(最安全)

🛡️ 推荐使用场景

  • 前后端分离项目
  • 防止敏感路径泄露
  • 确保跨域请求不携带完整路径信息

🧩 如何设置?

在 HTTP 头中配置:

Referrer-Policy: strict-origin-when-cross-origin

在 HTML 页面中通过 <meta> 标签设置(适用于文档范围):

<meta name="referrer" content="strict-origin-when-cross-origin">

✅ 总结

strict-origin-when-cross-origin 是一个兼顾安全与功能性的推荐策略:

  • 保留同源请求的详细上下文;
  • 对跨源请求仅暴露源地址;
  • 在降级请求时不暴露任何信息,防止信息泄露。

适用于大多数 Web 应用的安全场景。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐