“引荐来源网址政策”(Referrer Policy)解析
“引荐来源网址政策”(Referrer Policy)解析
Referrer Policy 是 HTTP 响应头(Referrer-Policy)或 HTML <meta> 标签中定义的策略,用于控制浏览器在发起请求时如何传递 Referer(引荐来源)头部信息。strict-origin-when-cross-origin 是其中一种策略,以下是其含义及所有可选值的详细说明。
1. strict-origin-when-cross-origin 的含义
- 适用场景:跨域请求(如从
https://example.com跳转到https://api.example.org)。 - 行为:
- 同源请求:发送完整的
Referer(包括路径和查询参数)。
示例:- 访问
https://example.com/page1→ 跳转到https://example.com/page2 - 发送的
Referer:https://example.com/page1
- 访问
- 跨域请求:仅发送来源(
origin,即协议+域名+端口),不包含路径和查询参数。
示例:- 访问
https://example.com/page1→ 跳转到https://api.example.org/data - 发送的
Referer:https://example.com(隐藏/page1)
- 访问
- 同源请求:发送完整的
- 安全特性:
- 在跨域时隐藏路径和查询参数,防止敏感信息(如用户 ID、搜索关键词)泄露。
- 相比宽松策略(如
no-referrer-when-downgrade),更严格地保护隐私。
2. 所有 Referrer Policy 值及行为
以下是 HTTP 响应头或 <meta> 标签中可配置的所有策略及其行为:
| 策略值 | 同源请求 | 跨域请求 | 安全等级 | 典型用途 |
|---|---|---|---|---|
no-referrer |
不发送 Referer |
不发送 Referer |
最高 | 完全禁用引荐来源(如隐私敏感场景) |
no-referrer-when-downgrade |
发送完整 Referer |
仅当目标为 HTTPS 时发送完整 Referer;HTTP 时不发送 |
中等 | 默认策略(浏览器默认行为) |
same-origin |
发送完整 Referer |
不发送 Referer |
高 | 仅允许同源请求携带引荐来源 |
origin |
发送来源(origin) |
发送来源(origin) |
中高 | 仅暴露域名,隐藏路径和参数 |
strict-origin |
发送来源(origin) |
仅当目标为 HTTPS 时发送来源;HTTP 时不发送 | 高 | 严格限制跨域 HTTPS 请求的引荐来源 |
origin-when-cross-origin |
发送完整 Referer |
发送来源(origin) |
中高 | 平衡隐私与功能(如跨域 API 调用) |
strict-origin-when-cross-origin |
发送完整 Referer |
仅当目标为 HTTPS 时发送来源;HTTP 时不发送 | 高 | 严格保护跨域隐私(推荐策略) |
unsafe-url |
发送完整 Referer |
发送完整 Referer |
最低 | 允许所有请求暴露完整 URL(不安全) |
3. 策略对比与推荐
- 隐私优先:
strict-origin-when-cross-origin:跨域时隐藏路径和参数,仅暴露来源。strict-origin:更严格,仅允许 HTTPS 跨域请求发送来源。
- 功能优先:
origin-when-cross-origin:允许跨域时暴露来源,适合需要部分引荐信息的场景。
- 完全禁用:
no-referrer:彻底隐藏引荐来源,可能影响某些分析功能(如 Google Analytics)。
- 不推荐:
unsafe-url:泄露完整 URL(包括敏感参数),仅用于测试或明确需要时。
4. 配置方式
HTTP 响应头
Referrer-Policy: strict-origin-when-cross-origin
HTML <meta> 标签
<meta name="referrer" content="strict-origin-when-cross-origin">
5. 实际应用示例
- 场景 1:用户从
https://shop.example.com/checkout?user=123跳转到第三方支付页面https://pay.example.org。- 策略:
strict-origin-when-cross-origin - 结果:
Referer发送为https://shop.example.com(隐藏user=123)。
- 策略:
- 场景 2:网站内部跳转
https://example.com/page1→https://example.com/page2。- 策略:
strict-origin-when-cross-origin - 结果:
Referer发送为https://example.com/page1(完整路径)。
- 策略:
总结
strict-origin-when-cross-origin是一种平衡隐私与功能的策略,适合大多数现代网站。- 根据安全需求选择策略:隐私优先选
strict-origin或no-referrer,功能优先选origin-when-cross-origin。 - 避免使用
unsafe-url,除非明确需要暴露完整 URL。
通过合理配置 Referrer Policy,可以在保护用户隐私的同时,确保网站功能正常运行。

- 随机文章
- 热门文章
- 热评文章
- 怎样测试显卡性能好不好?全面测试显卡性能的方法、工具与评估标准
- 实用心理测试大全:深入了解自己,提升人际关系与生活质量实用心理测试大全大白
- Java 网络编程性能优化:高吞吐量的实现方法
- 云服务器:数字时代的“弹性算力引擎”
- 从内存泄露到全栈资源治理:Deleaker如何成为开发者的终极防线
- 鸿蒙系统向后兼容性深度解析:如何让老代码焕发新生?【华为根技术】
- Java 测试框架:JUnit 5 的新特性与最佳实践
- Apache Doris & SelectDB 技术能力全面解析
- 免费小测试 测你的性格特质
回归分析



